| 
25 | 25 | > Note: In the above instructions, `v0.2.0-alpha.3` is the version/tag is being released  | 
26 | 26 | 
 
  | 
27 | 27 | ## 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.  | 
29 | 31 |     ```shell  | 
30 | 32 |     git clone git@github.com:kubernetes-sigs/cluster-api-provider-ibmcloud.git  | 
31 | 33 |     git tag -s -m "v0.1.0" v0.1.0  | 
32 | 34 |     git push origin v0.1.0  | 
33 | 35 |     ```  | 
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 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):  | 
38 | 43 |   - Clone and pull down the latest from [kubernetes/k8s.io](https://github.com/kubernetes/k8s.io)  | 
39 | 44 |   - Create a new branch in your fork of `kubernetes/k8s.io`.   | 
40 | 45 |   - The staging repository is [here](https://console.cloud.google.com/gcr/images/k8s-staging-capi-ibmcloud/GLOBAL).  | 
41 | 46 |   - Once image is present in the above staging repository, find the sha256 tag for the image by following instructions  | 
42 | 47 |   ```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'  | 
44 | 49 |   "sha256:6c92a6a337ca5152eda855ac27c9e4ca1f30bba0aa4de5c3a0b937270ead4363"  | 
45 | 50 |   ```  | 
46 | 51 |   - 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.  | 
 | 57 | +  - Create a new `release tracker issue` to manage the post release processes.  | 
52 | 58 | 
 
  | 
53 | 59 | > Note: In the above instructions, `v0.1.0` is the version/tag is being released  | 
54 | 60 | 
 
  | 
 | 
0 commit comments