docs: copy final release instructions
galargh committed
Oct 1, 2022 at 13:38 UTC
940e3974b12387dd1eaf3cc8191aa99d29bd96b6
1 file changed
+35
-11
docs/RELEASE_ISSUE_TEMPLATE.md
+35
-11
@@ -69,7 +69,7 @@ Checklist:
69
- [ ] Push the `release-vX.Y.Z` branch to GitHub (`git push origin release-vX.Y.Z`) and create a draft PR targetting `release` branch if it doesn't exist yet ([example](https://github.com/ipfs/kubo/pull/9306)).
70
- [ ] Wait for CI to run and complete PR checks. All checks should pass.
71
- [ ] Tag HEAD `release-vX.Y.Z` commit with `vX.Y.Z-rcN` (`git tag -s vX.Y.Z-rcN -m 'Pre-release X.Y.Z-rcn'`)
72
- - [ ] 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).- - _START: steps that are also relevant for the final release_
72
+ - [ ] 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).
73
- [ ] Add artifacts to https://dist.ipfs.tech by making a PR against [ipfs/distributions](https://github.com/ipfs/distributions)
74
- [ ] Clone the `ipfs/distributions` repo locally.
75
- [ ] Create a new branch (`kubo-release-vX.Y.Z-rcn`) from `master`.
@@ -85,7 +85,6 @@ Checklist:
85
- Use `vX.Y.Z-rcN` as the tag.
86
- Link to the release issue in the description.
87
- Link to the relevant [changelog](https://github.com/ipfs/kubo/blob/master/docs/changelogs/) in the description.
88
- - For the final release, keep the release notes as trim as possible (removing some of the top headers, like we did here: https://github.com/ipfs/kubo/releases/tag/v0.15.0)
88
- Check `This is a pre-release`.
89
- [ ] Synchronize release artifacts by running [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow.
90
- [ ] Announce the RC
@@ -93,7 +92,7 @@ Checklist:
92
- Use `Kubo vX.Y.Z-rcn Release Candidate is out!` as the title.
93
- Use `kubo` and `go-ipfs` as topics.
94
- Repeat the title as a heading (`##`) in the description.
96
- - Link to the release issue in the description.
95
+ - Link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description.
96
- [ ] Pin the topic globally so that it stays at the top of the category.
97
- [ ] If there is no more important banner currently set on Discourse (e.g. IPFS Camp announcement), make the topic into a banner.
98
- [ ] Check if Discourse post was automatically copied to:
@@ -101,7 +100,6 @@ Checklist:
100
- [ ] FIL Slack #ipfs-chatter
101
- [ ] Matrix
102
- [ ] Mention [early testers](https://github.com/ipfs/go-ipfs/tree/master/docs/EARLY_TESTERS.md) in the comment under the release issue ([example](https://github.com/ipfs/kubo/issues/9237#issuecomment-1258072509)).
104
- - _STOP: steps that are also relevant for the final release_
103
- [ ] **Stage 3 - Internal Testing**
104
- [ ] Library Testing.
105
- [ ] [interop](https://github.com/ipfs/interop)
@@ -144,7 +142,7 @@ Checklist:
142
- Check that the comunication between Kubo daemon and IPFS companion is working properly checking if the number of connected peers changes.
143
- [ ] **Stage 5 - Release** - _ONLY FOR FINAL RELEASE_
144
- [ ] Prepare the `release` branch.
147
- - [ ] Bump the version in `version.go` in the `release-vX.Y.Z` branch to `vX.Y.0`.
145
+ - [ ] Bump the version in `version.go` in the `release-vX.Y.Z` branch to `vX.Y.Z`.
146
- [ ] Push the `release-vX.Y.Z` branch to GitHub (`git push origin release-vX.Y.Z`)
147
- [ ] Mark the PR created from `release-vX.Y.Z` as ready for review.
148
- [ ] Ensure the PR is targetting `release` branch.
@@ -156,14 +154,40 @@ Checklist:
154
- [ ] Create a signed tag for the release.
155
- [ ] Have release reviewer review the subsequent tagging commits you intend to run.
156
- This is a dangerous operation, as it is difficult to reverse due to Go modules and automated Docker image publishing
159
- - [ ] Tag HEAD `release` commit with `vX.Y.0` (`git tag -s vX.Y.0 -m 'Release X.Y.0'`)
160
- - [ ] Push the `vX.Y.0` tag to GitHub (`git push origin vX.Y.0`; DO NOT USE `git push --tags` because it pushes all your local tags).
157
+ - [ ] Tag HEAD `release` commit with `vX.Y.Z` (`git tag -s vX.Y.Z -m 'Release X.Y.Z'`)
158
+ - [ ] Push the `vX.Y.Z` tag to GitHub (`git push origin vX.Y.Z`; DO NOT USE `git push --tags` because it pushes all your local tags).
159
- [ ] Wait for [Publish docker image](https://github.com/ipfs/kubo/actions/workflows/docker-image.yml) workflow run initiated by the tag push to finish.
162
- - [ ] Repeat _RC steps that are also relevant for the final release_ with these additional steps:
163
- - [ ] Publish the release to [chocolatey](https://chocolatey.org/packages/go-ipfs) by running https://github.com/ipfs/choco-go-ipfs/actions/workflows/main.yml (it happens automatically but it is safe to speed up the process and kick of a run manually)
160
+ - [ ] Add artifacts to https://dist.ipfs.tech by making a PR against [ipfs/distributions](https://github.com/ipfs/distributions)
161
+ - [ ] Clone the `ipfs/distributions` repo locally.
162
+ - [ ] Create a new branch (`kubo-release-vX.Y.Z`) from `master`.
163
+ - [ ] Run `./dist.sh add-version kubo vX.Y.Z` to add the new version to the `versions` file ([instructions](https://github.com/ipfs/distributions#usage)).
164
+ - [ ] Push the `kubo-release-vX.Y.Z` branch to GitHub and create a PR from that branch ([example](TODO)).
165
+ - [ ] Wait for PR to build artifacts and generate diff (~30min)
166
+ - [ ] Inspect results, merge if CI is green and the diff looks ok
167
+ - [ ] Wait for `master` branch to build. It will automatically update DNSLink at https://dist.ipfs.tech (~30min)
168
+ - [ ] Publish the release to [the NPM package](https://www.npmjs.com/package/go-ipfs?activeTab=versions) by running https://github.com/ipfs/npm-go-ipfs/actions/workflows/main.yml (it happens automatically but it is safe to speed up the process and kick of a run manually)
169
+ - [ ] Publish the release to [chocolatey](https://chocolatey.org/packages/go-ipfs) by running https://github.com/ipfs/choco-go-ipfs/actions/workflows/main.yml (it happens automatically but it is safe to speed up the process and kick of a run manually)
170
- [ ] Wait for Chocolatey to approve the release (usually takes a few hours)
165
- - [ ] Ensure the release is published to [snap](https://snapcraft.io/ipfs)
166
- - [ ] Ensure the release is published to [arch](https://www.archlinux.org/packages/community/x86_64/go-ipfs/) (flag it out of date)
171
+ - [ ] Ensure the release is published to [snap](https://snapcraft.io/ipfs)
172
+ - [ ] Ensure the release is published to [arch](https://www.archlinux.org/packages/community/x86_64/go-ipfs/) (flag it out of date)
173
+ - [ ] Cut the release on [GitHub](https://github.com/ipfs/kubo/releases) ([instructions](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release), [example](TODO))
174
+ - Use `vX.Y.Z` as the tag.
175
+ - Link to the release issue in the description.
176
+ - Copy the relevant [changelog](https://github.com/ipfs/kubo/blob/master/docs/changelogs/) into the release description.
177
+ - Keep the release notes as trim as possible (e.g. remove top headers where possible, [example](https://github.com/ipfs/kubo/releases/tag/v0.15.0))
178
+ - [ ] Synchronize release artifacts by running [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow.
179
+ - [ ] Announce the RC
180
+ - [ ] Create a new post on [IPFS Discourse](https://discuss.ipfs.tech). ([example](TODO))
181
+ - Use `Kubo vX.Y.Z Release is out!` as the title.
182
+ - Use `kubo` and `go-ipfs` as topics.
183
+ - Repeat the title as a heading (`##`) in the description.
184
+ - Link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description.
185
+ - [ ] Pin the topic globally so that it stays at the top of the category.
186
+ - [ ] If there is no more important banner currently set on Discourse (e.g. IPFS Camp announcement), make the topic into a banner.
187
+ - [ ] Check if Discourse post was automatically copied to:
188
+ - [ ] IPFS Discord #ipfs-chatter
189
+ - [ ] FIL Slack #ipfs-chatter
190
+ - [ ] Matrix
191
- [ ] Add a link from release notes to Discuss post (like we did here: https://github.com/ipfs/kubo/releases/tag/v0.15.0)
192
- [ ] Update the draft PR created for [interop](https://github.com/ipfs/interop) to use the new release and mark it as ready for review.
193
- [ ] Update the draft PR created for [IPFS Desktop](https://github.com/ipfs-shipyard/ipfs-desktop) to use the new release and mark it as ready for review.