A release automation tool for Go projects that builds, packages, and publishes binaries to GitHub, package managers, and container registries.
softprops/action-gh-release
A GitHub Action that creates GitHub Releases and uploads build assets from Linux, Windows, and macOS runners.
- Stars
- 5,794
- Forks
- 646
- Open issues
- 123
- Last commit
- 2 days ago
What is it?
action-gh-release is a GitHub Action that creates a GitHub Release for a tag and uploads build artifacts to it. It is typically added as a step in a workflow that runs after a build, so that binaries, archives, or checksums produced by the pipeline are attached to the release automatically.
The action accepts newline-delimited glob patterns through the files input, and can take release notes from a file via body_path or from GitHub's built-in generated notes. It supports draft and prerelease flags, reusing an existing release for the same tag, appending to an existing body, creating a linked discussion, and pinning the comparison base for generated notes. Its outputs include the release URL, ID, upload URL, and a JSON list of uploaded assets.
The action runs on Linux, Windows, and macOS runners. Its v3 release targets Node 24, and it requires contents: write permission on the workflow token.
Key features
- 01Creates a GitHub Release for a tag, or updates the existing release for that tag.
- 02Uploads files matched by glob patterns, with optional working directory support.
- 03Reads release notes from a file or uses GitHub's generated release notes.
- 04Supports draft, prerelease, and make_latest settings.
- 05Runs on Linux, Windows, and macOS runners.
- 06Outputs the release URL, ID, upload URL, and uploaded asset details.
Use cases
- Publishing compiled binaries from a CI build to a GitHub Release when a version tag is pushed.
- Attaching checksums or packaged archives to each release automatically.
- Generating release notes from a changelog file or GitHub's auto-generated notes during a tagged build.
Quick start
- 1
Add the release step to your workflow file
uses: softprops/action-gh-release@v3 - 2
Gate the release step to tag pushes and list your assets in files
Things to know
- Runs only inside GitHub Actions workflows, not as a standalone tool.
- Creating releases for other repositories needs a personal access token with suitable permissions.
In collections
Topics
FAQ
- What is action-gh-release?
- A GitHub Action that creates GitHub Releases and uploads build assets from Linux, Windows, and macOS runners. action-gh-release is a GitHub Action that creates a GitHub Release for a tag and uploads build artifacts to it. It is typically added as a step in a workflow that runs after a build, so that binaries, archives, or checksums produced by the pipeline are attached to the release automatically.
- Is action-gh-release free to use? What license does it have?
- action-gh-release is open source under the MIT license. Check the license terms before using it in commercial products.
- Is action-gh-release still maintained?
- Actively maintained. The last commit to action-gh-release was on Nov 5, 2026.
- What can I use action-gh-release for?
- Publishing compiled binaries from a CI build to a GitHub Release when a version tag is pushed. Attaching checksums or packaged archives to each release automatically. Generating release notes from a changelog file or GitHub's auto-generated notes during a tagged build.
- How do I install action-gh-release?
- Add the release step to your workflow file: uses: softprops/action-gh-release@v3 Gate the release step to tag pushes and list your assets in files
- Where can I get action-gh-release?
- The source code and installation instructions are on GitHub: https://github.com/softprops/action-gh-release
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A GitHub Action that keeps a release pull request updated with version bumps and changelog, then tags and publishes a GitHub Release when merged.
A GitHub Actions action that automatically builds and deploys your project to GitHub Pages, pushing output to any branch such as gh-pages or docs.
Automates semantic versioning, changelog generation, and package publishing from commit messages in CI.
A declarative GitOps continuous delivery tool that syncs Kubernetes applications to the state defined in Git repositories.
Self-hosted CI/CD and DevOps automation platform in Go, built around workflows chained from pipelines, jobs and triggers.