softprops/action-gh-release: Publish GitHub Releases
action-gh-release creates a GitHub Release and uploads your build assets, usually on a tag push.
A popular, actively maintained way to ship releases from CI. Trigger it on tag pushes and attach binaries, archives, or checksums.
Key inputs (with:)
- files: glob(s) of assets to upload.
- tag_name: the release tag (defaults to the pushed tag).
- name: release title.
- body / body_path: release notes.
- draft / prerelease: release visibility flags.
- generate_release_notes: auto-generate notes from PRs.
Example workflow
.github/workflows/ci.yml
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- run: make build
- uses: softprops/action-gh-release@v2
with:
files: dist/*
generate_release_notes: trueOn any runner
This action runs on any runner. Latchkey managed runners run it unchanged.
Key takeaways
- Needs permissions: contents: write to publish.
- generate_release_notes builds a changelog from merged PRs.
- files uploads any build assets to the release.
Related guides
actions/create-release: Create a GitHub Release (Legacy)Reference for actions/create-release: the archived official action that creates a GitHub Release from a tag,…
actions/upload-artifact: Persist Build OutputsReference for actions/upload-artifact: save files and directories from a job for download or later jobs, with…
actions/attest-build-provenance: Sign Build ProvenanceReference for actions/attest-build-provenance: generate signed SLSA build provenance attestations for your ar…