actions/create-release: Create a GitHub Release (Legacy)
create-release is the original official release action. It is archived; new workflows use a maintained alternative.
It creates a release from a tag and outputs an upload URL. Because it is archived and cannot upload assets on its own, softprops/action-gh-release is the common modern replacement.
Key inputs (with:)
- tag_name: the tag to release.
- release_name: the release title.
- body: release notes.
- draft / prerelease: visibility flags.
Example workflow
.github/workflows/ci.yml
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref_name }}
release_name: ${{ github.ref_name }}Prefer the maintained action
For new work, use softprops/action-gh-release, which uploads assets and generates notes in one step.
Key takeaways
- create-release is archived and asset upload needs a second action.
- It outputs an upload_url for upload-release-asset.
- Prefer softprops/action-gh-release for new workflows.
Related guides
softprops/action-gh-release: Publish GitHub ReleasesReference for softprops/action-gh-release: create or update a GitHub Release on tag pushes and upload assets,…
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…