{"id":20673353,"url":"https://github.com/meedamian/github-release","last_synced_at":"2025-06-13T19:04:56.044Z","repository":{"id":45051592,"uuid":"205213177","full_name":"meeDamian/github-release","owner":"meeDamian","description":"Github Action to create, update, or add files to Github Releases","archived":false,"fork":false,"pushed_at":"2023-11-22T20:04:56.000Z","size":55,"stargazers_count":69,"open_issues_count":14,"forks_count":34,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-13T19:03:46.864Z","etag":null,"topics":["build-automation","github-actions","github-releases"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meeDamian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-29T17:11:13.000Z","updated_at":"2025-05-30T05:38:04.000Z","dependencies_parsed_at":"2024-06-18T13:45:08.798Z","dependency_job_id":null,"html_url":"https://github.com/meeDamian/github-release","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/meeDamian/github-release","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeDamian%2Fgithub-release","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeDamian%2Fgithub-release/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeDamian%2Fgithub-release/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeDamian%2Fgithub-release/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meeDamian","download_url":"https://codeload.github.com/meeDamian/github-release/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeDamian%2Fgithub-release/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259704412,"owners_count":22898858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-automation","github-actions","github-releases"],"created_at":"2024-11-16T20:41:05.759Z","updated_at":"2025-06-13T19:04:56.020Z","avatar_url":"https://github.com/meeDamian.png","language":"Shell","readme":"# meeDamian/github-release\n\n[![branches_gh_action_svg]][branches_gh_action_url]\n[![gh_last_release_svg]][gh_last_release_url]\n[![tippin_svg]][tippin_url]\n\n[branches_gh_action_svg]: https://github.com/meeDamian/github-release/workflows/Create%20shortened%20tags/badge.svg\n[branches_gh_action_url]: https://github.com/meeDamian/github-release/blob/master/.github/workflows/on-tag.yml\n\n[gh_last_release_svg]: https://img.shields.io/github/v/release/meeDamian/github-release?sort=semver\n[gh_last_release_url]: https://github.com/meeDamian/github-release/releases/latest\n\n[tippin_svg]: https://img.shields.io/badge/donate-lightning-FDD023?logo=bitcoin\u0026style=flat\n[tippin_url]: https://tippin.me/@meeDamian\n\n\nThe sane way of creating new and updating existing Github Releases with assets.\n\n# Usage\n\nSee [action.yml](action.yml)\n\n\n### Minimal\n\n```yaml\nsteps:\n- uses: actions/checkout@v2\n\n- uses: meeDamian/github-release@2.0\n  with:\n    token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n`token` is the only **always required** parameter to be passed to this action.  Everything else can use sane defaults in some circumstances.  See [arguments] to learn more.\n\n[arguments]: #Arguments\n\n\n### Arguments\n\nAll inputs are available as a _normal_ Action input (set as keys of `with:` map):\n\n\n| name             | required   | description\n|:----------------:|:----------:|----------------\n| `token`          | **always** | Github Access token. Can be accessed using `${{ secrets.GITHUB_TOKEN }}` in the workflow file.\n| `tag`            | sometimes  | If triggered by git tag push, tag is picked up automatically.  Otherwise `tag:` has to be set.\n| `commitish`      | no         | Commit hash this release should point to.  Unnecessary, if `tag` is a git tag.  Otherwise, current `master` is used. [more]\n| `name`           | no         | Name the release, the more creative, the better. Defaults to the name of the tag used. [more]\n| `body`           | no         | Longer description of the release, ex changelog, or info about contributors.  Defaults to the commit message of the reference commit. [more]\n| `draft`          | no         | Set to `true` to create a release, but not publish it. `false` by default. [more]\n| `prerelease`     | no         | Mark this release as a pre-release. `false` by default. [more]\n| `files`          | no         | A **space-separated** list of files to be uploaded. When left empty, no files are uploaded. [More on files below]\n| `gzip`           | no         | Set whether to `gzip` uploaded assets, or not.  Available options are: `true`, `false`, and `folders` which uploads files unchanged, but compresses directories/folders.  Defaults to `true`.  Note: it errors if set to `false`, and `files:` argument contains path to a directory.\n| `allow_override` | no         | Allow override of release, if one with the same tag already exists.  Defaults to `false`\n\n[more]: https://developer.github.com/v3/repos/releases/#create-a-release\n[More on files below]: #Files-syntax\n\n\n#### Using ENV vars\n\nIn a step before this action, run ex:\n\n```yml\nsteps:\n    ...\n    - name: Set enviroment for github-release\n      run: |\n        echo ::set-env name=RELEASE_TAG::\"v1.0.0\"\n        echo ::set-env name=RELEASE_NAME::\"$GITHUB_WORKFLOW\"\n\n    - uses: meeDamian/github-release@2.0\n      with:\n        token: ${{ secrets.GITHUB_TOKEN }}\n        tag: ${{ env.RELEASE_TAG }}\n        name: ${{ env.RELEASE_NAME }}\n    ...\n```\n\nTo learn more about notation used above see [this].\n\n[this]: https://help.github.com/en/articles/development-tools-for-github-actions#set-an-environment-variable-set-env\n\n\n#### Files syntax\n\nIn its simplest form it takes a single file/folder to be compressed \u0026 uploaded:\n\n```yaml\nwith:\n  …\n  files: release/\n```\n\nEach uploaded element can also be named by prefixing the path to it with: `\u003cname\u003e:`, example:\n\n```yaml\nwith:\n  …\n  files: release-v1.0.0:release/\n```\n\nAs of Aug 2019, Github Actions doesn't support YAML-list arguments to actions, so multiple files need to be passed as a space-separated string.  [YAML multiline syntax] can be used to increase readability by having each file on a separate line, example:\n\n```yaml\nwith:\n  …\n  files: \u003e\n    release-v1.0.0-linux:release/linux/\n    release-v1.0.0-mac:release/darwin/\n    release-v1.0.0-windows:release/not-supported-notice\n    checksums.txt      \n```\n[YAML multiline syntax]: https://yaml-multiline.info/ \n\n\n### Advanced example\n\n```yaml\nsteps:\n- uses: actions/checkout@v2\n\n- uses: meeDamian/github-release@2.0\n  with:\n    token: ${{ secrets.GITHUB_TOKEN }}\n    tag: ${{ env.MY_CUSTOM_TAG }}\n    name: My Creative Name\n    body: \u003e\n      This release actually changes the fabric of the reality, so be careful \n      while applying, as error in database migration, can irrecoverably wipe \n      some laws of physics.  \n    gzip: folders\n    files: \u003e\n      Dockerfile\n      action.yml\n     .github/\n      license:LICENSE\n      work-flows:.github/\n```\n\n\n### Versioning\n\nAs of Aug 2019, Github Actions doesn't natively understand shortened tags in `uses:` directive.\n\nTo go around that and not do what `git-tag-manual` calls _\"[The insane thing]\"_, a permanent git tag, following `v`-prefixed, semver format is created, **as well as** git branches following latest minor versions.  See the process [here].\n\nEx. `1.4` branch always points to the newest `v1.4.x` tag, etc.\n\nIn practice:\n\n```yaml\n# For exact version\nsteps:\n  uses: meeDamian/github-release@v2.0.2\n```\n\nOr\n\n```yaml\n# For newest minor version 2.0\nsteps:\n  uses: meeDamian/github-release@2.0\n```\n\nNote: It's likely branches will be deprecated once Github Actions fixes its limitation.\n\n[The insane thing]: https://git-scm.com/docs/git-tag#_on_re_tagging\n[here]: .github/workflows/on-tag.yml\n\n\n# License\n\nThe scripts and documentation in this project are released under the [MIT License](LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeedamian%2Fgithub-release","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeedamian%2Fgithub-release","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeedamian%2Fgithub-release/lists"}