The Kubernetes controller-runtime Project is released on an as-needed basis. The process is as follows:
Note: Releases are done from the release-MAJOR.MINOR
branches. For PATCH releases is not required
to create a new branch you will just need to ensure that all big fixes are cherry-picked into the respective
release-MAJOR.MINOR
branch. To know more about versioning check https://semver.org/.
- Create a new branch
git checkout -b release-<MAJOR.MINOR>
from main - Push the new branch to the remote repository
- Create the changelog from the new branch
release-<MAJOR.MINOR>
(git checkout release-<MAJOR.MINOR>
). You will need to use the kubebuilder-release-tools to generate the notes. See here
Note
- You will need to have checkout locally from the remote repository the previous branch
- Also, ensure that you fetch all tags from the remote
git fetch --all --tags
- Create a new tag with the correct version from the new
release-<MAJOR.MINOR>
branch - Add the changelog on it and publish. Now, the code source is released !
- Create a new prow test under github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-sigs/controller-runtime
for the new
release-<MAJOR.MINOR>
branch. (i.e. for the0.11.0
release see the PR: kubernetes/test-infra#25205) - Ping the infra PR in the controller-runtime slack channel for reviews.
- Publish on the Slack channel the new release, i.e:
:announce: Controller-Runtime v0.12.0 has been released!
This release includes a Kubernetes dependency bump to v1.24.
For more info, see the release page: https://github.com/kubernetes-sigs/controller-runtime/releases.
:tada: Thanks to all our contributors!
- An announcement email is sent to
kubebuilder@googlegroups.com
with the subject[ANNOUNCE] Controller-Runtime $VERSION is released