- Determine the new release's version number
- Follow Semantic Versioning 2.0 semantics
- Be mindful of the
v0.x.y
semantics!
- Be mindful of the
- The placeholder
vX.Y.Z
is used to refer to the tag name including this version number in all steps below
- Follow Semantic Versioning 2.0 semantics
- Check out the repository on the correct commit, which is most likely
origin/main
$ git fetch $ git checkout origin/main -b ${USER}/release/vX.Y.Z
- Edit
internal/version/version.go
to set theTag
constant to the newvX.Y.Z
version - Commit the resulting changes
$ git commit -m "release: vX.Y.Z" internal/version/version.go
- Open a pull request
$ gh pr create --web
- Get the PR reviewed by a colleague, ensure all CI passes including the Release validations
- Get the PR merged to
main
via the merge queue - Once merged, a draft release will automatically be created on GitHub
- Locate it on the releases page
- Review the release notes, and edit them if necessary:
- Remove
chore:
entries - Fix any typos you notice
- Remove
- Once validated, publish the release on GitHub
- This automatically creates the release tag, so you're done!