Skip to content

Commit 7aac1a3

Browse files
Add missing tasks and improve release team docs
Signed-off-by: Furkat Gofurov <[email protected]>
1 parent dc3b60b commit 7aac1a3

File tree

4 files changed

+75
-38
lines changed

4 files changed

+75
-38
lines changed

.github/ISSUE_TEMPLATE/release_tracking.md

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,11 @@ Please see the corresponding section in [release-tasks.md](https://github.com/ku
1414

1515
**Notes**:
1616
* Weeks are only specified to give some orientation.
17-
* The following is based on the v1.4 release cycle. Modify according to the tracked release cycle.
18-
19-
Week -3 to 1:
20-
* [ ] [Release Lead] [Set a tentative release date for the minor release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#set-a-tentative-release-date-for-the-minor-release)
21-
* [ ] [Release Lead] [Assemble release team](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#assemble-release-team)
17+
* The following is based on the v1.6 release cycle. Modify according to the tracked release cycle.
2218

2319
Week 1:
2420
* [ ] [Release Lead] [Finalize release schedule and team](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#finalize-release-schedule-and-team)
21+
* [ ] [Release Lead] [Add/remove release team members](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#addremove-release-team-members)
2522
* [ ] [Release Lead] [Prepare main branch for development of the new release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#prepare-main-branch-for-development-of-the-new-release)
2623
* [ ] [Communications Manager] [Add docs to collect release notes for users and migration notes for provider implementers](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#add-docs-to-collect-release-notes-for-users-and-migration-notes-for-provider-implementers)
2724
* [ ] [Communications Manager] [Update supported versions](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#update-supported-versions)
@@ -30,39 +27,42 @@ Week 1 to 4:
3027
* [ ] [Release Lead] [Track] [Remove previously deprecated code](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#track-remove-previously-deprecated-code)
3128

3229
Week 6:
33-
* [ ] [Release Lead] [Cut the v1.3.1 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
30+
* [ ] [Release Lead] [Cut the v1.5.1 & v1.4.6 releases](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
3431

3532
Week 9:
36-
* [ ] [Release Lead] [Cut the v1.3.2 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
33+
* [ ] [Release Lead] [Cut the v1.5.2 & v1.4.7 releases](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
3734

3835
Week 11 to 12:
3936
* [ ] [Release Lead] [Track] [Bump dependencies](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#track-bump-dependencies)
4037

4138
Week 13:
42-
* [ ] [Release Lead] [Cut the v1.4.0-beta.0 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
43-
* [ ] [Release Lead] [Cut the v1.3.3 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
39+
* [ ] [Release Lead] [Cut the v1.6.0-beta.0 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
40+
* [ ] [Release Lead] [Cut the v1.5.3 & v1.4.8 releases](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
4441
* [ ] [Release Lead] [Create a new GitHub milestone for the next release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#create-a-new-github-milestone-for-the-next-release)
4542
* [ ] [Communications Manager] [Communicate beta to providers](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#communicate-beta-to-providers)
4643

4744
Week 14:
48-
* [ ] [Release Lead] [Cut the v1.4.0-beta.1 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
45+
* [ ] [Release Lead] [Cut the v1.6.0-beta.1 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
46+
* [ ] [Release Lead] [Set a tentative release date for the next minor release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#set-a-tentative-release-date-for-the-next-minor-release)
47+
* [ ] [Release Lead] [Assemble next release team](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#assemble-next-release-team)
4948
* [ ] [Release Lead] Select release lead for the next release cycle
5049

5150
Week 15:
52-
* [ ] [Release Lead] [Create the release-1.4 release branch](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#create-a-release-branch)
53-
* [ ] [Release Lead] [Cut the v1.4.0-rc.0 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
54-
* [ ] [CI Manager] [Setup jobs and dashboards for the release-1.4 release branch](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#setup-jobs-and-dashboards-for-a-new-release-branch)
55-
* [ ] [Communications Manager] [Ensure the book for the new release is available](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#ensure-the-book-for-the-new-release-is-available)
5651

57-
Week 15 to 17:
58-
* [ ] [Communications Manager] [Polish release notes](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#polish-release-notes)
52+
* KubeCon idle week
5953

6054
Week 16:
61-
* [ ] [Release Lead] [Cut the v1.4.0-rc.1 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
55+
* [ ] [Release Lead] [Create the release-1.6 release branch](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#create-a-release-branch)
56+
* [ ] [Release Lead] [Cut the v1.6.0-rc.0 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
57+
* [ ] [CI Manager] [Setup jobs and dashboards for the release-1.6 release branch](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#setup-jobs-and-dashboards-for-a-new-release-branch)
58+
* [ ] [Communications Manager] [Ensure the book for the new release is available](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#ensure-the-book-for-the-new-release-is-available)
6259

6360
Week 17:
64-
* [ ] [Release Lead] [Cut the v1.4.0 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
65-
* [ ] [Release Lead] [Cut the v1.3.4 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
61+
* [ ] [Release Lead] [Cut the v1.6.0-rc.1 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
62+
63+
Week 18:
64+
* [ ] [Release Lead] [Cut the v1.6.0 release](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
65+
* [ ] [Release Lead] [Cut the v1.5.4 & v1.4.9 releases](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#repeatedly-cut-a-release)
6666
* [ ] [Release Lead] Organize release retrospective
6767
* [ ] [Communications Manager] [Change production branch in Netlify to the new release branch](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#change-production-branch-in-netlify-to-the-new-release-branch)
6868
* [ ] [Communications Manager] [Update clusterctl links in the quickstart](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#update-clusterctl-links-in-the-quickstart)
@@ -81,3 +81,4 @@ Continuously:
8181
If and when necessary:
8282
* [ ] [Release Lead] [Track] [Bump the Cluster API apiVersion](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#optional-track-bump-the-cluster-api-apiversion)
8383
* [ ] [Release Lead] [Track] [Bump the Kubernetes version](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#optional-track-bump-the-kubernetes-version)
84+
* [ ] [Release Lead] [Track Release and Improvement tasks](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#optional-track-release-and-improvement-tasks)

docs/release/release-tasks.md

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,22 @@ This document details the responsibilities and tasks for each role in the releas
1515
- [Release Lead](#release-lead)
1616
- [Responsibilities](#responsibilities)
1717
- [Tasks](#tasks)
18-
- [Set a tentative release date for the minor release](#set-a-tentative-release-date-for-the-minor-release)
19-
- [Assemble release team](#assemble-release-team)
20-
- [Add/remove release team members](#addremove-release-team-members)
2118
- [Finalize release schedule and team](#finalize-release-schedule-and-team)
19+
- [Add/remove release team members](#addremove-release-team-members)
2220
- [Prepare main branch for development of the new release](#prepare-main-branch-for-development-of-the-new-release)
2321
- [Create a new GitHub milestone for the next release](#create-a-new-github-milestone-for-the-next-release)
2422
- [[Track] Remove previously deprecated code](#track-remove-previously-deprecated-code)
2523
- [[Track] Bump dependencies](#track-bump-dependencies)
24+
- [Set a tentative release date for the next minor release](#set-a-tentative-release-date-for-the-next-minor-release)
25+
- [Assemble next release team](#assemble-next-release-team)
2626
- [Create a release branch](#create-a-release-branch)
2727
- [[Continuously] Maintain the GitHub release milestone](#continuously-maintain-the-github-release-milestone)
2828
- [[Continuously] Bump the Go version](#continuously-bump-the-go-version)
2929
- [[Repeatedly] Cut a release](#repeatedly-cut-a-release)
3030
- [[Optional] Public release session](#optional-public-release-session)
3131
- [[Optional] [Track] Bump the Cluster API apiVersion](#optional-track-bump-the-cluster-api-apiversion)
3232
- [[Optional] [Track] Bump the Kubernetes version](#optional-track-bump-the-kubernetes-version)
33+
- [[Optional] Track Release and Improvement tasks](#optional-track-release-and-improvement-tasks)
3334
- [Communications/Docs/Release Notes Manager](#communicationsdocsrelease-notes-manager)
3435
- [Responsibilities](#responsibilities-1)
3536
- [Tasks](#tasks-1)
@@ -67,7 +68,7 @@ This document details the responsibilities and tasks for each role in the releas
6768
* Ensure a retrospective happens
6869
* Ensure a maintainer is available when a release needs to be cut.
6970
* Staffing:
70-
* Assemble the release team for the current release cycle
71+
* Assemble the release team for the next release cycle
7172
* Ensure a release lead for the next release cycle is selected and trained
7273
* Set a tentative release date for the next release cycle
7374
* Cutting releases:
@@ -77,25 +78,17 @@ This document details the responsibilities and tasks for each role in the releas
7778

7879
### Tasks
7980

80-
#### Set a tentative release date for the minor release
81-
82-
1. Set a tentative release date for the release and document it by creating a `release-1.4.md`.
83-
84-
#### Assemble release team
85-
86-
There is currently no formalized process to assemble the release team.
87-
As of now we ask for volunteers in Slack and office hours.
88-
89-
#### Add/remove release team members
90-
91-
If necessary, the release lead can adjust the release team during the cycle to handle unexpected changes in staffing due to personal/professional issues, no-shows, or unplanned work spikes. Adding/removing members can be done by opening a PR to update the release team members list for the release cycle in question.
92-
9381
#### Finalize release schedule and team
9482

9583
1. Finalize release schedule and team in the [docs/release/releases](../../docs/release/releases), e.g. [release-1.4.md](../../docs/release/releases/release-1.4.md).
9684
2. Update @cluster-api-release-team Slack user group and GitHub team accordingly.
9785
<br>Prior art: https://github.com/kubernetes-sigs/cluster-api/issues/7476
98-
3. Announce the _release team_ and _release schedule_ to the mailing list.
86+
3. Update @cluster-api-release-lead and @cluster-api-release-team aliases in root OWNERS_ALIASES file with Release Team members.
87+
4. Announce the _release team_ and _release schedule_ to the mailing list.
88+
89+
#### Add/remove release team members
90+
91+
If necessary, the release lead can adjust the release team during the cycle to handle unexpected changes in staffing due to personal/professional issues, no-shows, or unplanned work spikes. Adding/removing members can be done by opening a PR to update the release team members list for the release cycle in question.
9992

10093
#### Prepare main branch for development of the new release
10194

@@ -159,6 +152,16 @@ We should take a look at the following dependencies:
159152
* Go dependencies in `go.mod` files.
160153
* Tools used in our Makefile (e.g. kustomize).
161154

155+
#### Set a tentative release date for the next minor release
156+
157+
1. Set a tentative release date for the next minor release and document it by creating a `release-X.Y.md` in [docs/release/releases](../../docs/release/releases).
158+
<br>Prior art: https://github.com/kubernetes-sigs/cluster-api/pull/9635
159+
160+
#### Assemble next release team
161+
162+
There is currently no formalized process to assemble the release team.
163+
As of now we ask for volunteers in Slack and office hours.
164+
162165
#### Create a release branch
163166

164167
The goal of this task is to ensure we have a release branch and the milestone applier applies milestones accordingly.
@@ -277,6 +280,20 @@ Additional information:
277280
1. Create an issue for the new Kubernetes version via: [New Issue: Kubernetes bump](https://github.com/kubernetes-sigs/cluster-api/issues/new/choose).
278281
2. Track the issue to ensure the work is completed in time.
279282
283+
#### [Optional] Track Release and Improvement tasks
284+
285+
1. Create an issue for easier tracking of all the tasks for the release cycle in question.
286+
<br>Prior art: [Tasks for v1.6 release cycle](https://github.com/kubernetes-sigs/cluster-api/issues/9094)
287+
2. Create a release improvement tasks [GitHub Project Board](https://github.com/orgs/kubernetes-sigs/projects/55) to track
288+
the current status of all improvement tasks planned for the release, their priorities, status (i.e `Done`/`In Progress`)
289+
and to distribute the work among the Release Team members.
290+
291+
**Notes**:
292+
* At the beginning of the cycle, Release Team Lead should prepare the improvement tasks board for the ongoing release cycle.
293+
The following steps can be taken:
294+
- Edit improvement tasks board name for current cycle (e.g. `CAPI vX.Y release improvement tasks`)
295+
- Add/move all individual missing issues to the board
296+
280297
## Communications/Docs/Release Notes Manager
281298
282299
### Responsibilities

docs/release/release-team.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
- [Team Selection](#team-selection)
1313
- [Selection Criteria](#selection-criteria)
1414
- [Time Commitment](#time-commitment)
15+
- [Release Team/Day Meetings](#release-teamday-meetings)
1516
- [Suggestions for Team Leads](#suggestions-for-team-leads)
1617
- [Why should I volunteer?](#why-should-i-volunteer)
1718
- [Cluster API release team vs kubernetes/kubernetes-SIG membership](#cluster-api-release-team-vs-kuberneteskubernetes-sig-membership)
@@ -110,9 +111,27 @@ While we don't anticipate individuals to be available every week during the rele
110111

111112
Before you volunteer to be part of a CAPI release team, please make certain that your employer is aware and supportive of your commitment to the release team.
112113

114+
## Release Team/Day Meetings
115+
116+
Release Team Members meet and share team specific updates, news and all release specific items in the Release Team Meetings.
117+
118+
- Release Team Meetings happen once a week every Wednesday, half an hour before office hours using the CAPI meeting zoom [link](https://zoom.us/j/861487554?pwd=dTVGVVFCblFJc0VBbkFqQlU0dHpiUT09).
119+
- Release Team Meeting notes can be found [here](https://docs.google.com/document/d/1AUiuvapS3ldYVJfKucDhIoH6IJIPS009jqwnSTwS0EI).
120+
- Reach out to maintainers to get the zoom meeting host key to be able to share the screen when office hours zoom link is used.
121+
122+
*Note:* For now, we don't have a calendar invite for Release Team Meetings to be sent out to all Release Team Members. Create a recurring calendar invite for the period of whole release cycle and send it to all Release Team Members.
123+
124+
Release Day meetings is used to cut the releases as a group following the release cycle timeline.
125+
126+
- Release Day Meetings happen on the release date specified in the release timeline document, using the CAPI meeting zoom [link](https://zoom.us/j/861487554?pwd=dTVGVVFCblFJc0VBbkFqQlU0dHpiUT09) at the time depending on the Release Team Members timezone and availability.
127+
113128
## Suggestions for Team Leads
114129

115130
* In the first week of the release cycle, organize an onboarding session with members of your team (i.e CI Lead with CI team members) to go over the general responsibilities and expectations.
131+
* Public communication should be default: all the Release Team specific topics, issues, discussion have to be public and discussed openly in the communication channels the Release Team uses. It gives visibility on the work being done, it is inclusive and track of record. All other communication
132+
within the Release Team Members can de carried out using a private group/chat.
133+
* For Release Lead: Inform Release Team Members about the upcoming release, a day prior to the actual release cutting date over a common communication
134+
channel (usually Cluster API Slack) and ask for team specific updates from Team Leads (i.e status of CI signal from CI Team Lead or preparing a PR for release notes with new desired tag in advance) to ensure smoother release cutting process and avoid unexpected surprises.
116135
* Clearly communicate with the team members you are responsible for, that the majority of the work during the release cycle will be a collaborative effort.
117136
* Establish an ownership rotation policy in consultation with respective team members.
118137
* Provide opportunities for team members to take the lead in cutting a release within the cycle, based on feasibility.

hack/generate-doctoc.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ if [[ -z "$(command -v doctoc)" ]]; then
2828
exit 0
2929
fi
3030

31-
doctoc ./CONTRIBUTING.md docs/release/release-tasks.md docs/release/release-team-onboarding.md docs/scope-and-objectives.md docs/staging-use-cases.md docs/proposals
31+
doctoc ./CONTRIBUTING.md docs/release/release-tasks.md docs/release/release-team-onboarding.md docs/release/release-team.md docs/scope-and-objectives.md docs/staging-use-cases.md docs/proposals

0 commit comments

Comments
 (0)