Release Process
The guide describes how to release a new version of the kcp-operator.
Prerequisites
- Have all desired changes merged and/or cherrypicked into the appropriate release branch.
Minor Release
Minor releases (0.x) are tagged directly on the main
branch and the v0.X.0
tag represents where the corresponding release/v0.X
branch branches off.
- Checkout the desired
main
branch commit. - Tag the main module:
git tag -m "version 0.X" v0.X.0
- Tag the SDK module:
git tag -m "SDK version 0.X" sdk/v0.X.0
- Push the tags:
git push upstream v0.X.0 sdk/v0.X.0
- Create the release branch:
git checkout -B release-0.X
- Push the release branch:
git push -u upstream release-0.X
Once the tag and branch have been pushed, the documentation has to be manually updated to include the new minor release.
- Navigate to https://github.com/kcp-dev/kcp-operator/actions/workflows/docs-gen-and-push.yaml
- Run the workflow manually on the new release branch.
Within a few minutes of the action finishing, the new branch should show up on https://docs.kcp.io/kcp-operator/.
Patch Releases
Patch releases (v0.x.y) are tagged with in a release branch.
- Checkout the desired
release/v0.X
branch commit. - Tag the main module:
git tag -m "version 0.X.Y" v0.X.Y
- Tag the SDK module:
git tag -m "SDK version 0.X.Y" sdk/v0.X.Y
- Push the tags:
git push upstream v0.X.Y sdk/v0.X.Y