Skip to content

Commit 97ea691

Browse files
author
Maksym Pavlenko
authored
Merge pull request containerd#8250 from dmcgowan/update-release-process
Update release process after 1.7
2 parents 97dd9d5 + dfdfa20 commit 97ea691

File tree

1 file changed

+32
-18
lines changed

1 file changed

+32
-18
lines changed

releases/README.md

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,31 @@ verified:
1111

1212
1. Create release pull request with release notes and updated versions.
1313

14-
1. Compile release notes detailing features added since the last release and
14+
1. Review all pull requests merged into the release. For any pull request
15+
that should be highlighted in the release notes, add the appropriate
16+
`impact/*` and `area/*` labels. Update the title to match the style used
17+
in release notes. Normally the titles are short descriptions starting with
18+
a present tense verb and optionally prepended with square brackets section
19+
which usually includes release branch.
20+
21+
2. Compile release notes with summary of changes since the last release and
1522
add release template file to `releases/` directory. The template is defined
1623
by containerd's release tool but refer to previous release files for style
1724
and format help. Name the file using the version, for rc add an `-rc` suffix.
1825
When moving from rc to final, the rc file may just be renamed and updated.
1926
See [release-tool](https://github.com/containerd/release-tool)
2027

21-
2. Update the version file at `https://github.com/containerd/containerd/blob/main/version/version.go`
28+
3. Update the version file at `https://github.com/containerd/containerd/blob/main/version/version.go`
2229

23-
3. Update RELEASES.md to refer to the new release and dates.
30+
4. (major/minor release only) Update RELEASES.md to refer to the new release and dates.
2431

25-
4. Update the `.mailmap` files for commit authors which have multiple email addresses in the commit log.
32+
5. Update the `.mailmap` files for commit authors which have multiple email addresses in the commit log.
2633
If it is not clear which email or name the contributor might want used in the release notes, reach
2734
out to the contributor for feedback. NOTE: real names should be used whenever possible. The file is
2835
maintained by manually adding entries to the file.
2936
- e.g. `Real Name <[email protected]> Other Name <[email protected]>`
3037

31-
5. Before opening the pull request, run the release tool using the new release notes.
38+
6. Before opening the pull request, run the release tool using the new release notes.
3239
Ensure the output matches what is expected, including contributors, change log,
3340
dependencies, and visual elements such as spacing. If a contributor is duplicated,
3441
use the emails outputted by the release tool to update the mailmap then re-run. The
@@ -41,7 +48,8 @@ verified:
4148
expects tags to be formatted as `vx.y.z[-rc.n]`.
4249

4350
2. Generate release notes (using a temp file may be helpful).
44-
- e.g. `release-tool -l -d -n -t v1.0.0 ./releases/v1.0.0.toml > /tmp/v1.0.0-notes`
51+
- e.g. `release-tool -r -g -d -n -t v1.0.0 ./releases/v1.0.0.toml > /tmp/v1.0.0-notes`
52+
- if release notes are too long, such as for major/minor releases, add `--skip-commits` option
4553

4654
3. Create tag using the generated release notes.
4755
- e.g. `git tag --cleanup=whitespace -s v1.0.0 -F /tmp/v1.0.0-notes`
@@ -51,21 +59,27 @@ verified:
5159
3. Push tag and Github release
5260

5361
1. Push the tag to `[email protected]:containerd/containerd.git`.
54-
NOTE: this will kick off CI building of the release binaries.
62+
NOTE: this will kick off CI to prepare the Github release and binaries.
5563

56-
2. Create the Github release using the `Tag version` which was just pushed. Use the first
57-
line outputted from the release tool as the `Release title` and the remainder of the
58-
output for the description. No alteration of the release output should be needed.
59-
Ensure `pre-release` is checked if an `-rc`.
60-
NOTE: This should be done immediately after pushing the tag, otherwise CI may create the release
61-
when the binaries are pushed.
64+
2. Verify release job has started in the actions tab and wait for release job to complete
65+
successfully. If the job fails, attempt to restart it. If the job continuously fails,
66+
delete the tag from GitHub as soon as possible and fix the issue before restarting the
67+
release process.
6268

63-
3. Check CI has completed and uploaded the binaries. Remove any binaries which get
64-
uploaded but are not intended as part of the release (e.g. Darwin binaries).
69+
3. Check the Github release, ensure the content matches what is expected and all the
70+
release binaries are included.
6571

66-
4. Update [`config.toml`](https://github.com/containerd/containerd.io/blob/f827d53826a426cb48f24cc08e43cc8722ad6d01/config.toml#L35) with latest release in the [containerd/containerd.io project](https://github.com/containerd/containerd.io); open PR to
72+
4. (major/minor release only) Create `release/x.y` branch from tag and push to `[email protected]:containerd/containerd.git`.
73+
74+
5. (patch release only) Update RELEASES.md in main branch to refer to the new patch release.
75+
76+
6. (major/minor release only) Create `cherry-pick/x.y.x` and `cherry-picked/x.y.x` labels
77+
78+
7. Close any milestones associated with the release.
79+
80+
8. Update [`config.toml`](https://github.com/containerd/containerd.io/blob/f827d53826a426cb48f24cc08e43cc8722ad6d01/config.toml#L35) with latest release in the [containerd/containerd.io project](https://github.com/containerd/containerd.io); open PR to
6781
force website downloads update.
6882

69-
5. Update Kubernetes test infrastructure to test against any new release branches, see example from https://github.com/kubernetes/test-infra/pull/25476
83+
9. Update Kubernetes test infrastructure to test against any new release branches, see example from https://github.com/kubernetes/test-infra/pull/25476
7084

71-
6. Promote on Slack, Twitter, mailing lists, etc
85+
10. Promote on Slack, Twitter, mailing lists, etc

0 commit comments

Comments
 (0)