Skip to content

Commit 7e37abb

Browse files
📖 add info about release process
1 parent 2f77235 commit 7e37abb

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

RELEASE.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Release Process
2+
3+
The Kubernetes controller-runtime Project is released on an as-needed basis. The process is as follows:
4+
5+
**Note:** Releases are done from the `release-MAJOR.MINOR` branches. For PATCH releases is not required
6+
to create a new branch you will just need to ensure that all big fixes are cherry-picked into the respective
7+
`release-MAJOR.MINOR` branch. To know more about versioning check https://semver.org/.
8+
9+
## How to do a release
10+
11+
### Create the new branch and the release tag
12+
13+
1. Create a new branch `git checkout -b release-<MAJOR.MINOR>` from master
14+
2. Push the new branch to the remote repository
15+
16+
### Now, let's generate the changelog
17+
18+
1. Create the changelog from the new branch `release-<MAJOR.MINOR>` (`git checkout release-<MAJOR.MINOR>`).
19+
You will need to use the [kubebuilder-release-tools][kubebuilder-release-tools] to generate the notes. See [here][release-notes-generation]
20+
21+
> **Note**
22+
> - You will need to have checkout locally from the remote repository the previous branch
23+
> - Also, ensure that you fetch all tags from the remote `git fetch --all --tags`
24+
25+
### Draft a new release from GitHub
26+
27+
1. Create a new tag with the correct version from the new `release-<MAJOR.MINOR>` branch
28+
2. Add the changelog on it and publish. Now, the code source is released !
29+
30+
### Add a new Prow test the for the new branch release
31+
32+
1. Create a new prow test under [github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-sigs/controller-runtime](https://github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-sigs/controller-runtime)
33+
for the new `release-<MAJOR.MINOR>` branch. (i.e. for the `0.11.0` release see the PR: https://github.com/kubernetes/test-infra/pull/25205)
34+
2. Ping the infra PR in the controller-runtime slack channel for reviews.
35+
36+
### Announce the new release:
37+
38+
1. Publish on the Slack channel the new release, i.e:
39+
40+
````
41+
:announce: Controller-Runtime v0.12.0 has been released!
42+
This release includes a Kubernetes dependency bump to v1.24.
43+
For more info, see the release page: https://github.com/kubernetes-sigs/controller-runtime/releases.
44+
:tada: Thanks to all our contributors!
45+
````
46+
47+
2. An announcement email is sent to `kubebuilder@googlegroups.com` with the subject `[ANNOUNCE] Controller-Runtime $VERSION is released`

0 commit comments

Comments
 (0)