Skip to content

Commit bf5d7f4

Browse files
chuckhak8s-ci-robot
authored andcommitted
Document release process (kubernetes-sigs#768)
Signed-off-by: Chuck Ha <[email protected]>
1 parent a7f1907 commit bf5d7f4

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

docs/developer/releasing.md

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Releasing
2+
3+
## Output
4+
5+
### Expected artifacts
6+
7+
1. A container image of the shared cluster-api controller manager
8+
2. A git tag for providers to use
9+
10+
### Artifact locations
11+
12+
1. The container image is found in the registry `gcr.io/k8s-cluster-api` with an
13+
image name of `cluster-api-controller` and a tag that matches the release
14+
version. For example, in the `0.0.0-alpha.4` release, the container image
15+
location is `gcr.io/k8s-cluster-api/cluster-api-controller:0.0.0-alpha.4`
16+
17+
## Process
18+
19+
1. Create a pull request that contains two changes:
20+
1. Change [the cluster api controller manager image
21+
tag][managerimg] from `:latest` to whatever version is being released
22+
2. Change the `CONTROLLER_IMAGE` variable in the [Makefile][makefile] to the
23+
version being released
24+
2. Get the pull request merged
25+
3. From the commit in step 1 (that is now in the master branch), build and push
26+
the container image with `make docker-push`
27+
4. Create a tag from this same commit and push the tag to the github repository
28+
5. Revert the commit made in step 1
29+
6. Open a pull request with the revert change
30+
7. Get that pull request merged
31+
8. Create a release in github based on the tag created above
32+
9. Manually create the release notes by going through the merged PRs since the
33+
last release
34+
35+
[managerimg]: https://github.com/kubernetes-sigs/cluster-api/blob/fab4c07ea9fb0f124a5abe3dd7fcfffc23f2a1b3/config/default/manager_image_patch.yaml
36+
[makefile]: https://github.com/kubernetes-sigs/cluster-api/blob/fab4c07ea9fb0f124a5abe3dd7fcfffc23f2a1b3/Makefile
37+
38+
### Permissions
39+
40+
Releasing requires a particular set of permissions.
41+
42+
* push access to the gcr bucket
43+
* tag push access to the github repository
44+
* release creation

0 commit comments

Comments
 (0)