|
| 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