Skip to content

Commit e103254

Browse files
committed
docs: incorporate the RC into the main checklist
1 parent f50fc32 commit e103254

File tree

2 files changed

+28
-28
lines changed

2 files changed

+28
-28
lines changed

docs/RELEASE_ISSUE_TEMPLATE.md

+25-28
Original file line numberDiff line numberDiff line change
@@ -34,45 +34,42 @@ As usual, this release includes important fixes, some of which may be critical f
3434

3535
## ✅ Release Checklist
3636

37-
For each RC published in each stage:
38-
39-
- version string in `version.go` has been updated (in the `release-vX.Y.Z` branch).
40-
- new commits should be added to the `release-vX.Y.Z` branch from `master` using `git cherry-pick -x ...`
41-
- Note: `release-` branches are protected. You can do all needed updates on a separated branch and when everything is settled push to `release-vX.Y.Z`
42-
- tag commit with `vX.Y.Z-rcN`
43-
- add artifacts to https://dist.ipfs.tech
44-
1. Make a PR against [ipfs/distributions](https://github.com/ipfs/distributions) with local changes produced by `add-version` (see [usage](https://github.com/ipfs/distributions#usage))
45-
2. Wait for PR to build artifacts and generate diff (~30min)
46-
3. Inspect results, merge if CI is green and the diff looks ok
47-
4. Wait for `master` branch to build and update DNSLink at https://dist.ipfs.tech (~30min)
48-
- cut a pre-release on [github](https://github.com/ipfs/kubo/releases) and reuse signed artifacts from https://dist.ipfs.tech/kubo (upload the result of the ipfs/distributions build in the previous step).
49-
- Announce the RC:
50-
- [ ] Create a new post on [IPFS Discourse](https://discuss.ipfs.tech)
51-
- This will automatically post to IPFS Discord #ipfs-chatter
52-
- Examples from the past: [0.14.0](https://discuss.ipfs.io/t/kubo-formerly-go-ipfs-v0-14-0-release-is-out/14794)
53-
- [ ] Pin the topic. You need to be part of the [admin group](https://discuss.ipfs.tech/g/admins) for that.
54-
- [ ] To the _early testers_ listed in [docs/EARLY_TESTERS.md](https://github.com/ipfs/go-ipfs/tree/master/docs/EARLY_TESTERS.md). Do this by copy/pasting their GitHub usernames and checkboxes as a comment so they get a GitHub notification. ([example](https://github.com/ipfs/go-ipfs/issues/8176#issuecomment-909356394))
55-
5637
Checklist:
5738

58-
- [ ] **Stage -1 - Prerequisites**
39+
- [ ] **Stage 0 - Prerequisites**
5940
- [ ] Ensure that the `What's left for release` section has all the checkboxes checked. If that's not the case, discuss the open items with Kubo maintainers and update the release schedule accordingly.
60-
- [ ] **Stage 0 - Automated Testing**
41+
- [ ] **Stage 1 - Initial Preparations**
6142
- [ ] Upgrade to the latest patch release of Go that CircleCI has published (currently used version: `1.19.1`)
6243
- [ ] See the list here: https://hub.docker.com/r/cimg/go/tags
6344
- [ ] [ipfs/distributions](https://github.com/ipfs/distributions): bump [this version](https://github.com/ipfs/distributions/blob/master/.tool-versions#L2)
6445
- [ ] [ipfs/kubo](https://github.com/ipfs/kubo): [example PR](https://github.com/ipfs/kubo/pull/8599)
65-
- [ ] Fork a new branch (`release-vX.Y.Z`) from `master` and make any further release related changes to this branch. If any "non-trivial" changes (see the footnotes of [docs/releases.md](https://github.com/ipfs/go-ipfs/tree/master/docs/releases.md) for a definition) get added to the release, uncheck all the checkboxes and return to this stage.
66-
- [ ] Follow the RC release process to cut the first RC.
67-
- [ ] Bump the version in `version.go` in the `master` branch to `vX.(Y+1).0-dev`.
46+
- [ ] Fork a new branch (`release-vX.Y.Z`) from `master`.
47+
- [ ] Bump the version in `version.go` in the `master` branch to `vX.(Y+1).0-dev`.
48+
- [ ] **Stage 2 - Release Candidate** - _if any [non-trivial](docs/releases.md#footnotes) changes need to be included in the release, return to this stage_
49+
- [ ] Bump the version in `version.go` in the `release-vX.Y.Z` branch to `vX.Y.Z-rcN`.
50+
- [ ] If applicable, add new commits to the `release-vX.Y.Z` branch from `master` using `git cherry-pick -x ...`
51+
- Note: `release-*` branches are protected. You can do all needed updates on a separated branch (e.g. `wip-release-vX.Y.Z`) and when everything is settled push to `release-vX.Y.Z`
52+
- [ ] Tag HEAD `release-vX.Y.Z` commit with `vX.Y.Z-rcN` (`git tag -s vX.Y.Z-rcN"`)
53+
- [ ] Push the `release-vX.Y.Z` branch to GitHub (`git push origin release-vX.Y.Z`).
54+
- [ ] Push the `vX.Y.Z-rcN` tag to GitHub (`git push origin vX.Y.Z-rcN`; DO NOT USE `git push --tags` because it pushes all your local tags).
55+
- [ ] Add artifacts to https://dist.ipfs.tech by making a PR against [ipfs/distributions](https://github.com/ipfs/distributions) with local changes produced by `add-version` (see [usage](https://github.com/ipfs/distributions#usage))
56+
- [ ] Wait for PR to build artifacts and generate diff (~30min)
57+
- [ ] Inspect results, merge if CI is green and the diff looks ok
58+
- [ ] Wait for `master` branch to build and update DNSLink at https://dist.ipfs.tech (~30min)
59+
- [ ] Cut a pre-release on [GitHub](https://github.com/ipfs/kubo/releases) and reuse signed artifacts from https://dist.ipfs.tech/kubo (upload the result of the `ipfs/distributions` build from the previous step).
60+
- [ ] Announce the RC
61+
- [ ] Create a new post on [IPFS Discourse](https://discuss.ipfs.tech). This will automatically post to IPFS Discord #ipfs-chatter. Examples from the past: [0.14.0](https://discuss.ipfs.io/t/kubo-formerly-go-ipfs-v0-14-0-release-is-out/14794)
62+
- [ ] Pin the topic. You need to be part of the [admin group](https://discuss.ipfs.tech/g/admins) for that.
63+
- [ ] To the _early testers_ listed in [docs/EARLY_TESTERS.md](https://github.com/ipfs/go-ipfs/tree/master/docs/EARLY_TESTERS.md). Do this by copy/pasting their GitHub usernames and checkboxes as a comment to the release issue so they get a GitHub notification. ([example](https://github.com/ipfs/go-ipfs/issues/8176#issuecomment-909356394))
64+
- [ ] **Stage 3 - Automated Testing**
6865
- [ ] Automated Testing (already tested in CI) - Ensure that all tests are passing, this includes:
6966
- [ ] unit, sharness, cross-build, etc (`make test`)
7067
- [ ] lint (`make test_go_lint`)
7168
- [ ] [interop](https://github.com/ipfs/interop#test-with-a-non-yet-released-version-of-go-ipfs)
7269
- [ ] [go-ipfs-api](https://github.com/ipfs/go-ipfs-api)
7370
- [ ] [go-ipfs-http-client](https://github.com/ipfs/go-ipfs-http-client)
7471
- [ ] [WebUI](https://github.com/ipfs-shipyard/ipfs-webui)
75-
- [ ] **Stage 1 - Internal Testing**
72+
- [ ] **Stage 4 - Internal Testing**
7673
- [ ] CHANGELOG.md has been updated
7774
- use [`./bin/mkreleaselog`](https://github.com/ipfs/go-ipfs/tree/master/bin/mkreleaselog) to generate a nice starter list
7875
- you need to install `zsh`.
@@ -93,7 +90,7 @@ Checklist:
9390
- Start a fresh firefox instance using `firefox --profile $(mktemp -d)`
9491
- Install IPFS Companion from [vendor-specific store](https://github.com/ipfs/ipfs-companion/#readme).
9592
- Check that the comunication between Kubo daemon and IPFS companion is working properly checking if the number of connected peers changes.
96-
- [ ] **Stage 2 - Community Prod Testing**
93+
- [ ] **Stage 5 - Community Prod Testing**
9794
- [ ] Documentation
9895
- [ ] Ensure that [CHANGELOG.md](https://github.com/ipfs/go-ipfs/tree/master/CHANGELOG.md) is up to date
9996
- [ ] Add a link from release notes to Discuss post (like we did here: https://github.com/ipfs/kubo/releases/tag/v0.15.0 )
@@ -103,7 +100,7 @@ Checklist:
103100
- [ ] Invite the wider community through (link to the release issue):
104101
- [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements)
105102
- [ ] Matrix
106-
- [ ] **Stage 3 - Release**
103+
- [ ] **Stage 6 - Release**
107104
- [ ] Final preparation
108105
- [ ] Verify that version string in [`version.go`](https://github.com/ipfs/go-ipfs/tree/master/version.go) has been updated.
109106
- [ ] Open a PR merging `release-vX.Y.Z` into the `release` branch.
@@ -137,7 +134,7 @@ Checklist:
137134
- [ ] [Reddit](https://reddit.com/r/ipfs)
138135
- [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements)
139136
- A bot auto-posts this to Discord and Matrix
140-
- [ ] **Post-Release**
137+
- [ ] **Stage 7 - Post-Release**
141138
- [ ] Merge the `release` branch back into `master`, ignoring the changes to `version.go` (keep the `-dev` version from master).
142139
- [ ] Create an issue using this release issue template for the _next_ release.
143140
- [ ] Make sure any last-minute changelog updates from the blog post make it back into the CHANGELOG.

docs/releases.md

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
- [Security Fix Policy](#security-fix-policy)
1717
- [Performing a Release](#performing-a-release)
1818
- [Release Version Numbers (aka semver)](#release-version-numbers-aka-semver)
19+
- [_Footnotes_](#footnotes)
1920

2021
## Release Philosophy
2122

@@ -112,5 +113,7 @@ We do not yet retroactively apply fixes to older releases (no Long Term Support
112113

113114
----------------------------
114115

116+
## _Footnotes_
117+
115118
- <sup>**[1]**</sup> - _early testers_ is an IPFS programme in which members of the community can self-volunteer to help test `kubo` Release Candidates. You find more info about it at [EARLY_TESTERS.md](./EARLY_TESTERS.md)
116119
- <sup>**[2]**</sup> - A non-trivial change is any change that could potentially introduce an issue not trivially caught by automated testing. This is up to the discretion of the Lead Maintainer but the assumption is that every change is non-trivial unless proven otherwise.

0 commit comments

Comments
 (0)