@cryptotaxi247 / kubo / commits / a3f7e84d6

chore: label release checklist items

galargh committed Jan 26, 2023 at 16:29 UTC a3f7e84d6267a445654ad4ba4234b8485fd8f657
1 file changed +66 -44
docs/RELEASE_ISSUE_TEMPLATE.md
+66 -44
@@ -39,6 +39,23 @@ As usual, this release includes important fixes, some of which may be critical f
39
40 ## ✅ Release Checklist
41
42 +### Labels
43 +
44 +If an item should be executed for a specific release type, it should be labeled with one of the following labels:
45 +
46 +- ![](https://img.shields.io/badge/only-RC-blue?style=flat-square) execute **ONLY** when releasing a Release Candidate
47 +- ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) execute **ONLY** when releasing a Final Release
48 +
49 +Otherwise, it means it should be executed for **ALL** release types.
50 +
51 +Patch releases should follow the same process as `.0` releases. If some item should **NOT** be executed for a Patch Release, it should be labeled with:
52 +
53 +- ![](https://img.shields.io/badge/not-PATCH-yellow?style=flat-square) do **NOT** execute when releasing a Patch Release
54 +
55 +### Before the release
56 +
57 +This section covers tasks to be done ahead of the release.
58 +
59 - [ ] Verify you have access to all the services and tools required for the release
60 - [ ] [GPG signature](https://docs.github.com/en/authentication/managing-commit-signature-verification) configured in local git and in GitHub
61 - [ ] [admin access to IPFS Discourse](https://discuss.ipfs.tech/g/admins)
@@ -68,24 +85,31 @@ As usual, this release includes important fixes, some of which may be critical f
85 - [ ] Create a release process improvement PR
86 - [ ] update the [release issue template](docs/RELEASE_ISSUE_TEMPLATE.md) as you go
87 - [ ] link it in the [Meta](#meta) section
88 +
89 +### The release
90 +
91 +This section covers tasks to be done during each release.
92 +
93 - [ ] Cut the release branch and update version numbers accordingly using `kuboreleaser release --version vX.Y.Z(-RCN) cut-branch`
72 - - [ ] create a new branch `release-vX.Y` from `master`
73 - - [ ] update the `CurrentVersionNumber` in [version.go](version.go) in the `master` branch to `vX.(Y+1).0-dev`
94 + - [ ] create a new branch `release-vX.Y.Z`
95 + - use `master` as base if `Z == 0`
96 + - use `release` as base if `Z > 0`
97 + - [ ] ![](https://img.shields.io/badge/only-RC-blue?style=flat-square) update the `CurrentVersionNumber` in [version.go](version.go) in the `master` branch to `vX.(Y+1).0-dev`
98 - [example](https://github.com/ipfs/kubo/pull/9305)
99 - [ ] update the `CurrentVersionNumber` in [version.go](version.go) in the `release-vX.Y` branch to `vX.Y.Z(-RCN)`
100 - [example](https://github.com/ipfs/kubo/pull/9394)
101 - [ ] create a draft PR from `release-vX.Y` to `release`
102 - [example](https://github.com/ipfs/kubo/pull/9306)
103 - [ ] verify all CI checks on the PR from `release-vX.Y` to `release` are passing
80 -- [ ] Cherry-pick commits from `master` to the `release-vX.Y` using `git cherry-pick -x <commit>`
81 -- [ ] Add full changelog and contributors to the [changelog](docs/changelogs/vX.Y.md)
82 -- [ ] Merge the PR from `release-vX.Y` to `release` using the `Create a merge commit`
104 +- [ ] Cherry-pick commits from `master` to the `release-vX.Y.Z` using `git cherry-pick -x <commit>`
105 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Add full changelog and contributors to the [changelog](docs/changelogs/vX.Y.md)
106 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Merge the PR from `release-vX.Y` to `release` using the `Create a merge commit`
107 - do **NOT** use `Squash and merge` nor `Rebase and merge` because we need to be able to sign the merge commit
108 - do **NOT** delete the `release-vX.Y` branch
109 - [ ] Create the release tag using `kuboreleaser release --version vX.Y.Z(-RCN) tag`
110 - This is a dangerous operation! Go and Docker publishing are difficult to reverse! Have the release reviewer verify all the commands marked with ⚠️!
87 - - [ ] ⚠️ tag the HEAD commit of the `release-vX.Y` branch using `git tag -s vX.Y.Z(-RCN) -m 'Prerelease X.Y.Z(-RCN)'`
88 - - [ ] ⚠️ tag the HEAD commit of the `release` branch using `git tag -s vX.Y.Z(-RCN) -m 'Release X.Y.Z(-RCN)'`
111 + - [ ] ![](https://img.shields.io/badge/only-RC-blue?style=flat-square) ⚠️ tag the HEAD commit using `git tag -s vX.Y.Z(-RCN) -m 'Prerelease X.Y.Z(-RCN)'`
112 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) ⚠️ tag the HEAD commit of the `release` branch using `git tag -s vX.Y.Z(-RCN) -m 'Release X.Y.Z(-RCN)'`
113 - [ ] ⚠️ verify the tag is signed and tied to the correct commit using `git show vX.Y.Z(-RCN)`
114 - [ ] ⚠️ push the tag to GitHub using `git push origin vX.Y.Z(-RCN)`
115 - do **NOT** use `git push --tags` because it pushes all your local tags
@@ -105,16 +129,14 @@ As usual, this release includes important fixes, some of which may be critical f
129 - [ ] verify the release is available on [NPM](https://www.npmjs.com/package/go-ipfs?activeTab=versions)
130 - [ ] Publish the release to [GitHub](https://github.com/ipfs/kubo/releases) using `kuboreleaser release --version vX.Y.Z(-RCN) publish-to-github`
131 - [ ] create a new release on [GitHub](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release)
108 - - [prerelease example](https://github.com/ipfs/kubo/releases/tag/v0.17.0-rc1)
109 - - use the `vX.Y.Z(-RCN)` tag
110 - - link to the release issue
111 - - link to the changelog in the description
112 - - check the `This is a pre-release` checkbox
113 - - [release example](https://github.com/ipfs/kubo/releases/tag/v0.17.0)
114 - - use the `vX.Y.Z(-RCN)` tag
115 - - link to the release issue
116 - - copy the changelog (without the header) in the description
117 - - do **NOT** check the `This is a pre-release` checkbox
132 + - [RC example](https://github.com/ipfs/kubo/releases/tag/v0.17.0-rc1)
133 + - [FINAL example](https://github.com/ipfs/kubo/releases/tag/v0.17.0)
134 + - [ ] use the `vX.Y.Z(-RCN)` tag
135 + - [ ] link to the release issue
136 + - [ ] ![](https://img.shields.io/badge/only-RC-blue?style=flat-square) link to the changelog in the description
137 + - [ ] ![](https://img.shields.io/badge/only-RC-blue?style=flat-square) check the `This is a pre-release` checkbox
138 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) copy the changelog (without the header) in the description
139 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) do **NOT** check the `This is a pre-release` checkbox
140 - [ ] run the [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow
141 - [ ] wait for the [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow run to finish
142 - [ ] verify the release assets are present in the [GitHub release](https://github.com/ipfs/kubo/releases/tag/vX.Y.Z(-RCN))
@@ -124,57 +146,57 @@ As usual, this release includes important fixes, some of which may be critical f
146 - [ ] create an [IPFS Discourse](https://discuss.ipfs.tech) topic
147 - [prerelease example](https://discuss.ipfs.tech/t/kubo-v0-16-0-rc1-release-candidate-is-out/15248)
148 - [release example](https://discuss.ipfs.tech/t/kubo-v0-16-0-release-is-out/15249)
127 - - use `Kubo vX.Y.Z(-RCN) is out!` as the title
128 - - use `kubo` and `go-ipfs` as topics
129 - - repeat the title as a heading (`##`) in the description
130 - - link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description
149 + - [ ] use `Kubo vX.Y.Z(-RCN) is out!` as the title
150 + - [ ] use `kubo` and `go-ipfs` as topics
151 + - [ ] repeat the title as a heading (`##`) in the description
152 + - [ ] link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description
153 - [ ] pin the [IPFS Discourse](https://discuss.ipfs.tech) topic globally
154 - you can make the topic a banner if there is no banner already
155 - verify the [IPFS Discourse](https://discuss.ipfs.tech) topic was copied to:
156 - [ ] [#ipfs-chatter](https://discord.com/channels/669268347736686612/669268347736686615) in IPFS Discord
157 - [ ] [#ipfs-chatter](https://filecoinproject.slack.com/archives/C018EJ8LWH1) in FIL Slack
158 - [ ] [#ipfs-chatter:ipfs.io](https://matrix.to/#/#ipfs-chatter:ipfs.io) in Matrix
137 - - [ ] create an issue comment mentioning early testers on the release issue
159 + - [ ] ![](https://img.shields.io/badge/only-RC-blue?style=flat-square) create an issue comment mentioning early testers on the release issue
160 - [example](https://github.com/ipfs/kubo/issues/9319#issuecomment-1311002478)
139 - - [ ] create an issue comment linking to the release on the release issue
161 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) create an issue comment linking to the release on the release issue
162 - [example](https://github.com/ipfs/kubo/issues/9417#issuecomment-1400740975)
141 - - [ ] ask the marketing team to tweet about the release in [#shared-pl-marketing-requests](https://filecoinproject.slack.com/archives/C018EJ8LWH1) in FIL Slack
163 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) ask the marketing team to tweet about the release in [#shared-pl-marketing-requests](https://filecoinproject.slack.com/archives/C018EJ8LWH1) in FIL Slack
164 - [example](https://filecoinproject.slack.com/archives/C018EJ8LWH1/p1664885305374900)
143 - - [ ] post the link to the [GitHub Release](https://github.com/ipfs/kubo/releases/tag/vX.Y.Z(-RCN)) to [Reddit](https://reddit.com/r/ipfs)
165 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) post the link to the [GitHub Release](https://github.com/ipfs/kubo/releases/tag/vX.Y.Z(-RCN)) to [Reddit](https://reddit.com/r/ipfs)
166 - [example](https://www.reddit.com/r/ipfs/comments/9x0q0k/kubo_v0160_release_is_out/)
145 -- [ ] Add the link to the [IPFS Discourse](https://discuss.ipfs.tech) topic to the [GitHub Release](https://github.com/ipfs/kubo/releases/tag/vX.Y.Z(-RCN)) description
167 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Add the link to the [IPFS Discourse](https://discuss.ipfs.tech) topic to the [GitHub Release](https://github.com/ipfs/kubo/releases/tag/vX.Y.Z(-RCN)) description
168 - [example](https://github.com/ipfs/kubo/releases/tag/v0.17.0)
147 -- [ ] `kuboreleaser release --version vX.Y.Z(-RCN) test-ipfs-companion`
169 +- [ ] Test the new version with `ipfs-companion` using `kuboreleaser release --version vX.Y.Z(-RCN) test-ipfs-companion`
170 - [ ] run the [e2e](https://github.com/ipfs/ipfs-companion/actions/workflows/e2e.yml)
171 - use `vX.Y.Z(-RCN)` as the Kubo image version
172 - [ ] wait for the [e2e](https://github.com/ipfs/ipfs-companion/actions/workflows/e2e.yml) workflow run to finish
151 -- [ ] Update Kubo in [interop](https://github.com/ipfs/interop) using `kuboreleaser release --version vX.Y.Z(-RCN) update-interop`
152 - - [ ] check out [ipfs/interop](https://github.com/ipfs/interop)
153 - - [ ] run `npm install`
154 - - [ ] create a PR which updates `package.json` and `package-lock.json`
155 - - [ ] merge the PR
173 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Update Kubo in [interop](https://github.com/ipfs/interop) using `kuboreleaser release --version vX.Y.Z(-RCN) update-interop`
174 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) check out [ipfs/interop](https://github.com/ipfs/interop)
175 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) run `npm install`
176 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) create a PR which updates `package.json` and `package-lock.json`
177 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) merge the PR
178 - [ ] Update Kubo in [ipfs-desktop](https://github.com/ipfs/ipfs-desktop) using `kuboreleaser release --version vX.Y.Z(-RCN) update-ipfs-desktop`
179 - [ ] check out [ipfs/ipfs-desktop](https://github.com/ipfs/ipfs-desktop)
180 - [ ] run `npm install`
181 - [ ] create a PR which updates `package.json` and `package-lock.json`
160 - - [ ] merge the PR
161 -- [ ] Update Kubo docs using `kuboreleaser release --version vX.Y.Z(-RCN) update-ipfs-docs`
162 - - [ ] run the [update-on-new-ipfs-tag.yml](https://github.com/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml) workflow
163 - - [ ] merge the PR created by the [update-on-new-ipfs-tag.yml](https://github.com/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml) workflow run
164 -- [ ] Create a blog entry on [ipfs.tech](https://blog.ipfs.tech) `kuboreleaser release --version vX.Y.Z(-RCN) update-ipfs-blog --date YYYY-MM-DD`
165 - - [ ] create a PR which adds a release note for the new Kubo version
182 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) merge the PR
183 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Update Kubo docs using `kuboreleaser release --version vX.Y.Z(-RCN) update-ipfs-docs`
184 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) run the [update-on-new-ipfs-tag.yml](https://github.com/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml) workflow
185 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) merge the PR created by the [update-on-new-ipfs-tag.yml](https://github.com/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml) workflow run
186 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Create a blog entry on [ipfs.tech](https://blog.ipfs.tech) `kuboreleaser release --version vX.Y.Z(-RCN) update-ipfs-blog --date YYYY-MM-DD`
187 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) create a PR which adds a release note for the new Kubo version
188 - [example](https://github.com/ipfs/ipfs-blog/pull/529)
167 - - [ ] merge the PR
168 - - [ ] verify the blog entry was published
189 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) merge the PR
190 + - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) verify the blog entry was published
191 - [ ] Keep checking the [metrics](https://protocollabs.grafana.net/d/8zlhkKTZk/gateway-slis-precomputed?orgId=1) until the release issue is closed
192 - [release notes](https://www.notion.so/pl-strflt/Kubo-Gateway-Release-Notes-6e0efff28ee540be9ccb8f2b85104c42)
193 - post in the [#bifrost](https://filecoinproject.slack.com/archives/C018EJ8LWH1) channel in FIL Slack if there is a problem
172 -- [ ] Merge the [release](https://github.com/ipfs/kubo/tree/release) back into [master](https://github.com/ipfs/kubo/tree/master) using `kuboreleaser release --version vX.Y.Z(-RCN) merge-branch`
194 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Merge the [release](https://github.com/ipfs/kubo/tree/release) back into [master](https://github.com/ipfs/kubo/tree/master) using `kuboreleaser release --version vX.Y.Z(-RCN) merge-branch`
195 - ignore the changes to [version.go](version.go) (keep the `-dev` version)
174 -- [ ] Create the next [changelog](https://github.com/ipfs/kubo/blob/master/docs/changelogs/vX.(Y+1).md)
196 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) ![](https://img.shields.io/badge/not-PATCH-yellow?style=flat-square) Create the next [changelog](https://github.com/ipfs/kubo/blob/master/docs/changelogs/vX.(Y+1).md)
197 - link to the new changelog in the [CHANGELOG.md](CHANGELOG.md) file
176 -- [ ] Create the next release issue
177 -- [ ] Close the release issue
198 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) ![](https://img.shields.io/badge/not-PATCH-yellow?style=flat-square) Create the next release issue
199 +- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Close the release issue
200
201 ## How to contribute?
202