Skip to content

Commit d54f385

Browse files
committed
Update the release process documentation
1 parent 9369909 commit d54f385

File tree

2 files changed

+20
-15
lines changed

2 files changed

+20
-15
lines changed

RELEASE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
The Kubernetes cluster-api-provider-ibmcloud is released on an as-needed basis. The process is as follows:
1212

1313
1. An issue is proposing a new release with a changelog since the last release
14-
1. All [OWNERS](OWNERS) must LGTM this release
15-
1. An OWNER runs `git tag -s $VERSION` and inserts the changelog and pushes the tag with `git push $VERSION`
16-
1. The release issue is closed
17-
1. An announcement email is sent to `[email protected]` with the subject `[ANNOUNCE] cluster-api-provider-ibmcloud $VERSION is released`
14+
2. All [OWNERS](OWNERS) must LGTM this release
15+
3. An OWNER runs `git tag -s $VERSION` and inserts the changelog and pushes the tag with `git push $VERSION`
16+
4. The release issue is closed
17+
5. An announcement email is sent to `[email protected]` with the subject `[ANNOUNCE] cluster-api-provider-ibmcloud $VERSION is released`

docs/book/src/developer/release.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,30 +25,35 @@
2525
> Note: In the above instructions, `v0.2.0-alpha.3` is the version/tag is being released
2626

2727
## GA Releases
28-
- Create a tag and push
28+
- Review if all issues linked to the release version are either completed or moved to the "Next" release.
29+
- Create a release branch from main.
30+
- Clone the repository and create a tag (release tag) and push to origin. Ensure that the GPG keys are set.
2931
```shell
3032
git clone [email protected]:kubernetes-sigs/cluster-api-provider-ibmcloud.git
3133
git tag -s -m "v0.1.0" v0.1.0
3234
git push origin v0.1.0
3335
```
34-
- Wait for the google cloud build to be finished
35-
- [Prepare release notes](#prepare-release-notes)
36-
- Create a draft release with release notes for the tag
37-
- Perform the [image promotion process](https://github.com/kubernetes/k8s.io/tree/main/k8s.gcr.io#image-promoter):
36+
- Wait for the Google Cloudbuild to finish, which is triggered once the tag is created.
37+
- The status of the build jobs can be tracked from : https://prow.k8s.io/?job=post-cluster-api-provider-ibmcloud-push-images
38+
- The built images are available here: https://console.cloud.google.com/gcr/images/k8s-staging-capi-ibmcloud/
39+
- Create a draft release with release notes for the created tag.
40+
- Use the `make release-notes` target to generate release notes. (Refer topic - [Prepare release notes](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/docs/book/src/developer/release.md#prepare-release-notes))
41+
- Update the controller image version towards the bottom of the release document.
42+
- Perform the [image promotion process](https://github.com/kubernetes/k8s.io/tree/main/registry.k8s.io#image-promoter):
3843
- Clone and pull down the latest from [kubernetes/k8s.io](https://github.com/kubernetes/k8s.io)
3944
- Create a new branch in your fork of `kubernetes/k8s.io`.
4045
- The staging repository is [here](https://console.cloud.google.com/gcr/images/k8s-staging-capi-ibmcloud/GLOBAL).
4146
- Once image is present in the above staging repository, find the sha256 tag for the image by following instructions
4247
```shell
43-
$ manifest-tool inspect --raw gcr.io/k8s-staging-capi-ibmcloud/cluster-api-ibmcloud-controller:v0.1.0 | jq '.[0].Digest'
48+
$ manifest-tool inspect --raw gcr.io/k8s-staging-capi-ibmcloud/cluster-api-ibmcloud-controller:v0.1.0 | jq '.digest'
4449
"sha256:6c92a6a337ca5152eda855ac27c9e4ca1f30bba0aa4de5c3a0b937270ead4363"
4550
```
4651
- In your `kubernetes/k8s.io` branch edit `k8s.gcr.io/images/k8s-staging-capi-ibmcloud/images.yaml` and add an entry for the version using the sha256 value got from the above command. For example: `"sha256:6c92a6a337ca5152eda855ac27c9e4ca1f30bba0aa4de5c3a0b937270ead4363": ["v0.1.0"]`
47-
- You can use [this PR](https://github.com/kubernetes/k8s.io/pull/3185) as example
48-
- Wait for the PR to be approved and merged
49-
- Run `make release` command
50-
- Copy the content from `out` directory to release asset
51-
- Publish the drafted release
52+
- You can use [this PR]( https://github.com/kubernetes/k8s.io/pull/7780) as example.
53+
- Wait for the PR to be approved and merged.
54+
- This should trigger a build job to build artifacts through cloud-build / run `make release` on the release branch.
55+
- Upload the binaries/files that are uploaded to Google Cloud Storage / built locally and publish the drafted release.
56+
- Create an alpha tag for the `release-version+1` for allowing subsequent commits.
5257

5358
> Note: In the above instructions, `v0.1.0` is the version/tag is being released
5459

0 commit comments

Comments
 (0)