- Determine the SemVer version for the new release:
$VERSION
. Note: semver does not include av
prefix. - Generate a changelog using ghch
ghch --format=markdown --next-version=v$VERSION
. - Create a new branch pointing to the trunk
git fetch origin && git switch -c release/$VERSION origin/master
. - Update CHANGELOG.md with the generated changelog.
- Update
version/version.go
with the new version. - Push your branch and wait for CI to pass.
- Merge your branch.
- Switch back to the trunk branch:
git switch master
. - Pull the trunk branch with tags, and ensure it is pointing to the commit you want to release.
- Tag the release with the new version:
git tag -sm v$VERSION v$VERSION
. - Push the tag to GitHub:
git push --tags
. - A tag build will commence on the pipeline. Wait for and unblock the release steps.
- Check that the draft release that the build creates is acceptable and release it. Note: the job log for release step on the tag build will contain a link to the draft release.