You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(release): update image promotion to use kpromo
The release process has been updated to use `kpromo` for handling
the image promotion instead of the manual process we had.
Signed-off-by: Richard Case <[email protected]>
Copy file name to clipboardExpand all lines: docs/book/src/development/releasing.md
+28-21
Original file line number
Diff line number
Diff line change
@@ -21,27 +21,34 @@
21
21
22
22
## Promote container images from staging to production
23
23
24
-
Promote the container images by following the steps below. (For background information, see [this](https://github.com/kubernetes/k8s.io/tree/main/k8s.gcr.io#image-promoter).)
24
+
Promote the container images from the staging registry to the production registry (`registry.k8s.io/cluster-api-provider-aws`) by following the steps below.
25
25
26
-
1. Navigate to the the staging repository [dashboard](https://console.cloud.google.com/gcr/images/k8s-staging-cluster-api-aws/GLOBAL).
27
-
1. Choose the _top level_[cluster-api-aws-controller](https://console.cloud.google.com/gcr/images/k8s-staging-cluster-api-aws/GLOBAL/cluster-api-aws-controller?gcrImageListsize=30) image. Only the top level image provides the multi-arch manifest, rather than one for a specific architecture.
28
-
1. Wait for an image to appear with the tagged release version:
29
-

30
-
1. Click on the `Copy full image name` icon.
31
-
1. Create your own fork of `kubernetes/k8s.io` in GitHub.
32
-
1. Clone and pull down the latest from [kubernetes/k8s.io](https://github.com/kubernetes/k8s.io).
33
-
1. Create a new branch in your fork of `kubernetes/k8s.io`.
34
-
1. In your `kubernetes/k8s.io` branch edit `k8s.gcr.io/images/k8s-staging-cluster-api-aws/images.yaml` and add an try for the version using the pasted value from earlier. For example: `"sha256:06ce7b97f9fe116df65c293deef63981dec3e33dec9984b8a6dd0f7dba21bb32": ["v0.6.4"]`
35
-
1. Create a PR with your change, following [this PR](https://github.com/kubernetes/k8s.io/pull/1565) as example.
36
-
1. Wait for the PR to be approved (typically by CAPA maintainers authorized to merge PRs into the k8s.io repository) and merged.
26
+
1. Navigate to the the staging repository [dashboard](https://console.cloud.google.com/gcr/images/k8s-staging-cluster-api-aws/GLOBAL).
27
+
2. Choose the _top level_[cluster-api-aws-controller](https://console.cloud.google.com/gcr/images/k8s-staging-cluster-api-aws/GLOBAL/cluster-api-aws-controller?gcrImageListsize=30) image. Only the top level image provides the multi-arch manifest, rather than one for a specific architecture.
28
+
3. Wait for an image to appear with the tagged release version.
29
+
4. If you don't have a GitHub token, create one by going to your GitHub settings, in [Personal access tokens](https://github.com/settings/tokens). Make sure you give the token the `repo` scope.
30
+
5. Create a PR to promote the images:
31
+
```bash
32
+
export GITHUB_TOKEN=<your GH token>
33
+
make promote-images
34
+
```
35
+
**Notes**:
36
+
*`kpromo` uses `[email protected]:...` as remote to push the branch for the PR. If you don't have `ssh` set up you can configure
37
+
git to use `https` instead via `git config --global url."https://github.com/".insteadOf [email protected]:`.
38
+
* This will automatically create a PR in [k8s.io](https://github.com/kubernetes/k8s.io) and assign the CAPA maintainers.
39
+
6. Wait for the PR to be approved (typically by CAPA maintainers authorized to merge PRs into the k8s.io repository) and merged.
40
+
7. Verify the images are available in the production registry:
## Create release artifacts, and a GitHub draft release
39
46
40
-
1.Again, make sure your repo is clean by git standards.
41
-
1.Export the current branch `export BRANCH=release-1.5` (`export BRANCH=main`)and run `make release`.
42
-
1.Run `make create-gh-release` to create a draft release on Github, copying the generated release notes from `out/CHANGELOG.md` into the draft.
43
-
1.Run `make upload-gh-artifacts` to upload artifacts from .out/ directory. You may run into API limit errors, so verify artifacts at next step.
44
-
1.Verify that all the files below are attached to the drafted release:
47
+
1. Again, make sure your repo is clean by git standards.
48
+
1. Export the current branch `export BRANCH=release-1.5` (`export BRANCH=main`)and run `make release`.
49
+
1. Run `make create-gh-release` to create a draft release on Github, copying the generated release notes from `out/CHANGELOG.md` into the draft.
50
+
1. Run `make upload-gh-artifacts` to upload artifacts from .out/ directory. You may run into API limit errors, so verify artifacts at next step.
51
+
1. Verify that all the files below are attached to the drafted release:
45
52
1. `clusterawsadm-darwin-amd64`
46
53
1. `clusterawsadm-linux-amd64`
47
54
1. `infrastructure-components.yaml`
@@ -54,11 +61,11 @@ Promote the container images by following the steps below. (For background infor
54
61
1. `eks-controlplane-components.yaml`
55
62
1. `eks-bootstrap-components.yaml`
56
63
1. `metadata.yaml`
57
-
1.Finalise the release notes by editing the draft release.
64
+
1. Finalise the release notes by editing the draft release.
58
65
59
66
## Publish the draft release
60
67
61
-
1.Make sure image promotion is complete before publishing the release draft. The promotion job logs can be found [here](https://testgrid.k8s.io/sig-k8s-infra-k8sio#post-k8sio-image-promo) and you can also try and pull the images (i.e. ``docker pull registry.k8s.io/cluster-api-aws/cluster-api-aws-controller:v0.6.4`).
62
-
1.Publish release. Use the pre-release option for release
68
+
1. Make sure image promotion is complete before publishing the release draft. The promotion job logs can be found [here](https://testgrid.k8s.io/sig-k8s-infra-k8sio#post-k8sio-image-promo) and you can also try and pull the images (i.e. ``docker pull registry.k8s.io/cluster-api-aws/cluster-api-aws-controller:v0.6.4`).
69
+
1. Publish release. Use the pre-release option for release
0 commit comments