Skip to content

Commit 6faa5fb

Browse files
authored
Document the release process (#550)
1 parent 63cf5a0 commit 6faa5fb

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

docs/book/src/developer/release.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,51 @@
11
# Release Process
2+
3+
## Alpha/Beta releases
4+
- Create a tag and push
5+
```shell
6+
git clone [email protected]:kubernetes-sigs/cluster-api-provider-ibmcloud.git
7+
git tag -s -m "v0.2.0-alpha.3" v0.2.0-alpha.3
8+
git push origin v0.2.0-alpha.3
9+
```
10+
- Wait for the google cloud build to be finished
11+
- Create a draft release with release notes for the tag
12+
- Tick the prerelease checkbox
13+
- Download the artifacts once cloud build is finished
14+
```shell
15+
gsutil -m cp \
16+
"gs://artifacts.k8s-staging-capi-ibmcloud.appspot.com/components/v0.2.0-alpha.3/cluster-template-powervs.yaml" \
17+
"gs://artifacts.k8s-staging-capi-ibmcloud.appspot.com/components/v0.2.0-alpha.3/cluster-template.yaml" \
18+
"gs://artifacts.k8s-staging-capi-ibmcloud.appspot.com/components/v0.2.0-alpha.3/infrastructure-components.yaml" \
19+
"gs://artifacts.k8s-staging-capi-ibmcloud.appspot.com/components/v0.2.0-alpha.3/metadata.yaml" \
20+
.
21+
```
22+
- Upload the downloaded artifacts into the release asset
23+
- Publish the drafted release
24+
> Note: In the above instructions, `v0.2.0-alpha.3` is the version/tag is being released
25+
26+
## GA Releases
27+
- Create a tag and push
28+
```shell
29+
git clone [email protected]:kubernetes-sigs/cluster-api-provider-ibmcloud.git
30+
git tag -s -m "v0.1.0" v0.1.0
31+
git push origin v0.1.0
32+
```
33+
- Wait for the google cloud build to be finished
34+
- Create a draft release with release notes for the tag
35+
- Perform the [image promotion process](https://github.com/kubernetes/k8s.io/tree/main/k8s.gcr.io#image-promoter):
36+
- Clone and pull down the latest from [kubernetes/k8s.io](https://github.com/kubernetes/k8s.io)
37+
- Create a new branch in your fork of `kubernetes/k8s.io`.
38+
- The staging repository is [here](https://console.cloud.google.com/gcr/images/k8s-staging-capi-ibmcloud/GLOBAL).
39+
- Once image is present in the above staging repository, find the sha256 tag for the image by following instructions
40+
```shell
41+
$ manifest-tool inspect --raw gcr.io/k8s-staging-capi-ibmcloud/cluster-api-ibmcloud-controller:v0.1.0 | jq '.[0].Digest'
42+
"sha256:6c92a6a337ca5152eda855ac27c9e4ca1f30bba0aa4de5c3a0b937270ead4363"
43+
```
44+
- 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"]`
45+
- You can use [this PR](https://github.com/kubernetes/k8s.io/pull/3185) as example
46+
- Wait for the PR to be approved and merged
47+
- Run `make release` command
48+
- Copy the content from `out` directory to release asset
49+
- Publish the drafted release
50+
51+
> Note: In the above instructions, `v0.1.0` is the version/tag is being released

0 commit comments

Comments
 (0)