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
Copy file name to clipboardExpand all lines: docs/release/release-tasks.md
+20-19Lines changed: 20 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,8 @@ This document details the responsibilities and tasks for each role in the releas
5
5
**Notes**:
6
6
* The examples in this document are based on the v1.4 release cycle.
7
7
* This document focuses on tasks that are done for every release. One-time improvement tasks are out of scope.
8
-
* If a task is prefixed with `[Track]` it means it should be ensured that this task is done, but the folks with
9
-
the corresponding role are not responsible to do it themselves.
8
+
* If a task is prefixed with `[Track]` it means it should be ensured that this task is done, but the folks with
9
+
the corresponding role are not responsible to do it themselves.
10
10
11
11
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
12
12
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
@@ -87,7 +87,7 @@ As of now we ask for volunteers in Slack and office hours.
87
87
88
88
#### Prepare main branch for development of the new release
89
89
90
-
The goal of this issue is to bump the versions on the main branch so that the upcoming release version
90
+
The goal of this issue is to bump the versions on the main branch so that the upcoming release version
91
91
is used for e.g. local development and e2e tests. We also modify tests so that they are testing the previous release.
92
92
93
93
This comes down to changing occurrences of the old version to the new version, e.g. `v1.3` to `v1.4`:
@@ -110,7 +110,7 @@ This comes down to changing occurrences of the old version to the new version, e
110
110
we use in the clusterctl upgrade tests (as of today `cluster-template` and `cluster-template-topology`).
111
111
2. Remove old folders that are not used anymore (for `v1.4` we don't have to remove any).
112
112
5. Modify the test specs in `test/e2e/clusterctl_upgrade_test.go` (according to the versions we want to test described above).
113
-
Please note that `InitWithKubernetesVersion` should be the highest mgmt cluster version supported by the respective Cluster API version.
113
+
Please note that `InitWithKubernetesVersion` should be the highest mgmt cluster version supported by the respective Cluster API version.
114
114
2. Update `create-local-repository.py` and `tools/tilt-prepare/main.go`: `v1.3.99` => `v1.4.99`.
115
115
3. Update `.github/workflows/scan.yml` - to setup Trivy scanning - and `.github/workflows/lint-docs-weekly.yml` - to setup link checking in the CAPI book - for the currently supported branches.
116
116
4. Make sure all tests are green (also run `pull-cluster-api-e2e-full-main` and `pull-cluster-api-e2e-workload-upgrade-1-23-latest-main`).
@@ -152,7 +152,7 @@ From this point forward changes which should land in the release have to be cher
152
152
```bash
153
153
# Create the release branch
154
154
git checkout -b release-1.4
155
-
155
+
156
156
# Push the release branch
157
157
# Note: `upstream` must be the remote pointing to `github.com/kubernetes-sigs/cluster-api`.
158
158
git push -u upstream release-1.4
@@ -162,7 +162,7 @@ From this point forward changes which should land in the release have to be cher
162
162
163
163
#### [Continuously] Maintain the GitHub release milestone
164
164
165
-
The goal of this task is to keep an overview over the current release milestone and the implementation
165
+
The goal of this task is to keep an overview over the current release milestone and the implementation
166
166
progress of issues assigned to the milestone.
167
167
168
168
This can be done by:
@@ -178,23 +178,23 @@ The goal of this task is to ensure we are always using the latest Go version for
178
178
2. Bump the Go version in supported branches if necessary
179
179
<br>Prior art: [Bump to Go 1.19.5](https://github.com/kubernetes-sigs/cluster-api/pull/7981)
180
180
181
-
Note: If the Go minor version of one of our supported branches goes out of supported, we should consider bumping
181
+
Note: If the Go minor version of one of our supported branches goes out of supported, we should consider bumping
182
182
to a newer Go minor version according to our [backport policy](./../../CONTRIBUTING.md#backporting-a-patch).
183
183
184
184
#### [Repeatedly] Cut a release
185
185
186
186
1. Ensure CI is stable before cutting the release (e.g. by checking with the CI manager)
187
187
Note: special attention should be given to image scan results, so we can avoid cutting a release with CVE or document known CVEs in release notes.
188
188
2. Create and push the release tags to the GitHub repository:
189
-
```bash
189
+
```bash
190
190
# Export the tag of the release to be cut, e.g.:
191
191
export RELEASE_TAG=v1.0.1
192
-
192
+
193
193
# Create tags locally
194
194
# Warning: The test tag MUST NOT be an annotated tag.
195
195
git tag -s -a ${RELEASE_TAG} -m ${RELEASE_TAG}
196
196
git tag test/${RELEASE_TAG}
197
-
197
+
198
198
# Push tags
199
199
# Note: `upstream` must be the remote pointing to `github.com/kubernetes-sigs/cluster-api`.
200
200
git push upstream ${RELEASE_TAG}
@@ -205,7 +205,7 @@ to a newer Go minor version according to our [backport policy](./../../CONTRIBUT
205
205
1. Wait until images for the tag have been built and pushed to the [staging repository](https://console.cloud.google.com/gcr/images/k8s-staging-cluster-api) by the [post push images job](https://prow.k8s.io/?repo=kubernetes-sigs%2Fcluster-api&job=post-cluster-api-push-images).
206
206
2. 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.
207
207
3. Create a PR to promote the images to the production registry:
208
-
```bash
208
+
```bash
209
209
export GITHUB_TOKEN=<your GH token>
210
210
make promote-images
211
211
```
@@ -214,7 +214,7 @@ to a newer Go minor version according to our [backport policy](./../../CONTRIBUT
214
214
git to use `https` instead via `git config --global url."https://github.com/".insteadOf [email protected]:`.
215
215
* This will automatically create a PR in [k8s.io](https://github.com/kubernetes/k8s.io) and assign the CAPI maintainers.
216
216
4. Merge the PR (/lgtm + /hold cancel) and verify the images are available in the production registry:
@@ -226,7 +226,7 @@ to a newer Go minor version according to our [backport policy](./../../CONTRIBUT
226
226
5. Publish `clusterctl` to Homebrew by bumping the version in [clusterctl.rb](https://github.com/Homebrew/homebrew-core/blob/master/Formula/clusterctl.rb).
227
227
<br>**Notes**:
228
228
* This is only done for new latest stable releases, not for beta / RC releases and not for previous release branches.
229
-
* Check if homebrew already has a PR to update the version (homebrew introduced automation that picks it up). Open one if no PR exists.
229
+
* Check if homebrew already has a PR to update the version (homebrew introduced automation that picks it up). Open one if no PR exists.
230
230
* For an example please see: [PR: clusterctl 1.1.5](https://github.com/Homebrew/homebrew-core/pull/105075/files).
231
231
* Homebrew has [conventions for commit messages](https://docs.brew.sh/Formula-Cookbook#commit) usually
232
232
the commit message for us should look like: `clusterctl 1.1.5`.
@@ -278,8 +278,8 @@ Additional information:
278
278
#### Add docs to collect release notes for users and migration notes for provider implementers
279
279
280
280
The goal of this task is to initially create the docs so that we can continuously add notes going forward.
281
-
The release notes doc will be used to collect release notes during the release cycle and will be eventually
282
-
used to write the final release notes. The provider migration doc is part of the book and contains instructions
281
+
The release notes doc will be used to collect release notes during the release cycle and will be eventually
282
+
used to write the final release notes. The provider migration doc is part of the book and contains instructions
283
283
for provider authors on how to adopt to the new Cluster API version.
284
284
285
285
1. Add a new migration doc for provider implementers.
@@ -291,7 +291,7 @@ for provider authors on how to adopt to the new Cluster API version.
291
291
1. Update supported versions in versions.md.
292
292
<br>Prior art: [Update supported versions for v1.3](https://github.com/kubernetes-sigs/cluster-api/pull/6850)
293
293
294
-
#### Ensure the book for the new release is available
294
+
#### Ensure the book for the new release is available
295
295
296
296
The goal of this task to make the book for the current release available under e.g. `https://release-1-4.cluster-api.sigs.k8s.io`.
297
297
@@ -317,7 +317,7 @@ The goal of this task to make the book for the current release available under e
317
317
3. Ensure consistent formatting of entries (e.g. prefix (see [v1.2.0](https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.2.0) release notes)).
318
318
4. Merge dependency bump PR entries for the same dependency into a single entry.
319
319
5. Move minor changes into a single line at the end of each section.
320
-
6. Sort entries within a section alphabetically.
320
+
6. Sort entries within a section alphabetically.
321
321
7. Write highlights section based on the initial release notes doc.
322
322
8. Add Kubernetes version support section.
323
323
9. Modify `Changes since v1.x.y` to `Changes since v1.x`
@@ -337,7 +337,7 @@ Someone with access to Netlify should:
337
337
1. Change production branch in Netlify the current release branch (e.g. `release-1.4`) to make the book available under `https://cluster-api.sigs.k8s.io`.
338
338
2. Re-deploy via the Netlify UI.
339
339
340
-
#### Update clusterctl links in the quickstart
340
+
#### Update clusterctl links in the quickstart
341
341
342
342
The goal of this task is to ensure the quickstart has links to the latest `clusterctl` binaries.
343
343
@@ -421,6 +421,7 @@ The goal of this task is to keep our tests running in CI stable.
421
421
3. Mark the issue as `release-blocking`if applicable.
422
422
4. Triage periodic GitHub actions failures, with special attention to image scan results;
423
423
Eventually open issues as described above.
424
+
5. Monitor IPv6 testing PR informing jobs (look for`capi-pr-e2e-informing-ipv6-<branch_name>` tab on main and supported releases testgrid dashboards), since they are not part of any periodic jobs.
424
425
425
426
#### [Continuously] Reduce the amount of flaky tests
426
427
@@ -441,5 +442,5 @@ To reduce the amount of flakes please periodically:
441
442
The goal of bug triage is to triage incoming issues and if necessary flag them with `release-blocking`
442
443
and add them to the milestone of the current release.
443
444
444
-
We probably have to figure out some details about the overlap between the bug triage task here, release leads
445
+
We probably have to figure out some details about the overlap between the bug triage task here, release leads
0 commit comments