Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 1.94 KB

RELEASE.md

File metadata and controls

80 lines (55 loc) · 1.94 KB

Release!

This document describes the release process and is targeted at maintainers.

Preparation

Check the existing tags:

git tag --list --sort=taggerdate 'v*' | tail --lines=5

Pick a name for the new release. It must follow Semantic Versioning:

VERSION=1.0.1

Make sure that CHANGELOG.md is up-to-date.

Adjust entries in the changelog for example by adding additional examples or highlighting breaking changes.

Move the content of the "Unreleased" section that will be included in the new release to a new section with an appropriate title for the release. Should the "Unreleased" section now be empty, add "Nothing." to it.

Trigger

Commit the changes. Make sure to sign the commit:

git add .
git commit --gpg-sign --message="chore: Prepare release v$VERSION"
git log --show-signature --max-count=1

Push changes:

git push origin master

Check workflow runs in GitHub Actions and ensure everything is fine.

Tag the latest commit with an annotated and signed tag:

git tag --sign --message="" v$VERSION
git show v$VERSION

Make sure that the tree looks good:

git log --graph --oneline --all --max-count=5

Push the tag itself:

git push origin v$VERSION

This triggers the release workflow which will build package distributions, build and push a container image, and draft a GitHub release. Monitor the Monitor the release workflow. run and check the image registry.

Wrap up

If everything is fine, go to the release page of this project on GitHub here and review the automatically created release draft.

Publish the draft.