docs: update RELEASE_CHECKLIST.md (#10496)
Marcin Rataj committed
Sep 11, 2024 at 19:06 UTC
4842d6e547955958c1832bb81d5239a7bd728267
4 files changed
+40
-43
docs/EARLY_TESTERS.md
+1
-1
@@ -27,7 +27,7 @@ We will ask early testers to participate at two points in the process:
27
- [ ] Infura (@MichaelMure)
28
- [ ] OrbitDB (@haydenyoung)
29
- [ ] Pinata (@obo20)
30
-- [ ] PL EngRes bifrost (@cewood ns4plabs)
30
+- [ ] Shipyard (@cewood, @ns4plabs)
31
- [ ] Siderus (@koalalorenzo)
32
- [ ] Textile (@sanderpick)
33
- [ ] @RubenKelevra
docs/RELEASE_CHECKLIST.md
+37
-39
@@ -1,4 +1,4 @@
1
-<!-- Last updated during [v0.26.0 release](https://github.com/ipfs/kubo/issues/10259) -->
1
+<!-- Last updated during [v0.30.0 release](https://github.com/ipfs/kubo/pull/10496) -->
2
3
# ✅ Release Checklist (vX.Y.Z[-rcN])
4
@@ -62,7 +62,7 @@ This section covers tasks to be done during each release.
62
- [example](https://github.com/ipfs/kubo/pull/9306)
63
- [ ] Cherry-pick commits from `master` to the `release-vX.Y.Z` using `git cherry-pick -x <commit>`
64
- [ ]  Add full changelog and contributors to the [changelog](docs/changelogs/vX.Y.md)
65
- - [ ]  Replace the `Changelog` and `Contributors` sections of the [changelog](docs/changelogs/vX.Y.md) with the stdout of `./bin/mkreleaselog`
65
+ - [ ]  Replace the `Changelog` and `Contributors` sections of the [changelog](docs/changelogs/vX.Y.md) with the stdout of `./bin/mkreleaselog`. Note that the command expects your `$GOPATH/src/github.com/ipfs/kubo` to include latest commits from `release-vX.Y`
66
- do **NOT** copy the stderr
67
- [ ] verify all CI checks on the PR from `release-vX.Y` to `release` are passing
68
- [ ]  Merge the PR from `release-vX.Y` to `release` using the `Create a merge commit`
@@ -77,40 +77,42 @@ This section covers tasks to be done during each release.
77
- [ ] ⚠️ push the tag to GitHub using `git push origin vX.Y.Z(-RCN)`
78
- do **NOT** use `git push --tags` because it pushes all your local tags
79
</details>
80
-- [ ] Publish the release to [DockerHub](https://hub.docker.com/r/ipfs/kubo/) <details><summary>using `./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-dockerhub` or ...</summary>
81
- - [ ] Wait for [Publish docker image](https://github.com/ipfs/kubo/actions/workflows/docker-image.yml) workflow run initiated by the tag push to finish
82
- - [ ] verify the image is available on [Docker Hub](https://hub.docker.com/r/ipfs/kubo/tags)
80
- [ ] Verify [ipfs/distributions](https://github.com/ipfs/distributions)'s `.tool-versions`'s `golang` entry is set to the [latest go release](https://go.dev/doc/devel/release) on the major go branch [Kubo is being tested on](https://github.com/ipfs/kubo/blob/master/.github/workflows/gotest.yml) (see `go-version:`).
84
-- [ ] Publish the release to [dist.ipfs.tech](https://dist.ipfs.tech) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-distributions` or ...</summary>
85
- - [ ] check out [ipfs/distributions](https://github.com/ipfs/distributions)
86
- - [ ] run `./dist.sh add-version kubo vX.Y.Z(-RCN)` to add the new version to the `versions` file
87
- - [usage](https://github.com/ipfs/distributions#usage)
88
- - [ ] create and merge the PR which updates `dists/kubo/versions` and `dists/go-ipfs/versions` ( and `dists/kubo/current_version` and `dists/go-ipfs/current_version`)
89
- - [example](https://github.com/ipfs/distributions/pull/760)
90
- - [ ] wait for the [CI](https://github.com/ipfs/distributions/actions/workflows/main.yml) workflow run initiated by the merge to master to finish
91
- - [ ] verify the release is available on [dist.ipfs.tech](https://dist.ipfs.tech/#kubo)
92
- </details>
93
-- [ ] Publish the release to [NPM](https://www.npmjs.com/package/go-ipfs?activeTab=versions) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-npm` (⚠️ you might need to run the command a couple of times because GHA might not be able to see the new distribution straight away due to caching) or ...</summary>
94
- - [ ] run the [Release to npm](https://github.com/ipfs/npm-go-ipfs/actions/workflows/main.yml) workflow
95
- - [ ] check [Release to npm](https://github.com/ipfs/npm-go-ipfs/actions/workflows/main.yml) workflow run logs to verify it discovered the new release
96
- - [ ] verify the release is available on [NPM](https://www.npmjs.com/package/go-ipfs?activeTab=versions)
97
- </details>
98
-- [ ] Publish the release to [GitHub](https://github.com/ipfs/kubo/releases) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-github` or ...</summary>
99
- - [ ] create a new release on [GitHub](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release)
100
- - [RC example](https://github.com/ipfs/kubo/releases/tag/v0.17.0-rc1)
101
- - [FINAL example](https://github.com/ipfs/kubo/releases/tag/v0.17.0)
102
- - [ ] use the `vX.Y.Z(-RCN)` tag
103
- - [ ] link to the release issue
104
- - [ ]  link to the changelog in the description
105
- - [ ]  check the `This is a pre-release` checkbox
106
- - [ ]  copy the changelog (without the header) in the description
107
- - [ ]  do **NOT** check the `This is a pre-release` checkbox
108
- - [ ] run the [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow
109
- - [ ] wait for the [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow run to finish
110
- - [ ] verify the release assets are present in the [GitHub release](https://github.com/ipfs/kubo/releases/tag/vX.Y.Z(-RCN))
111
- </details>
112
-- [ ] Run Thunderdome testing, see the [Thunderdome release docs](./releases_thunderdome.md) for details
113
- - [ ] create a PR and merge the experiment config into Thunderdome
81
+- [ ] Publish to Dockerhub, NPM, and dist.ipfs.tech and GitHub using `./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-all` or follow each step below:
82
+ - [ ] Publish the release to [DockerHub](https://hub.docker.com/r/ipfs/kubo/) <details><summary>using `./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-dockerhub` or ...</summary>
83
+ - [ ] Wait for [Publish docker image](https://github.com/ipfs/kubo/actions/workflows/docker-image.yml) workflow run initiated by the tag push to finish
84
+ - [ ] verify the image is available on [Docker Hub](https://hub.docker.com/r/ipfs/kubo/tags)
85
+ - [ ] Publish the release to [dist.ipfs.tech](https://dist.ipfs.tech) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-distributions` or ...</summary>
86
+ - [ ] check out [ipfs/distributions](https://github.com/ipfs/distributions)
87
+ - [ ] run `./dist.sh add-version kubo vX.Y.Z(-RCN)` to add the new version to the `versions` file
88
+ - [usage](https://github.com/ipfs/distributions#usage)
89
+ - [ ] create and merge the PR which updates `dists/kubo/versions` and `dists/go-ipfs/versions` ( and `dists/kubo/current_version` and `dists/go-ipfs/current_version`)
90
+ - [example](https://github.com/ipfs/distributions/pull/760)
91
+ - [ ] wait for the [CI](https://github.com/ipfs/distributions/actions/workflows/main.yml) workflow run initiated by the merge to master to finish
92
+ - [ ] verify the release is available on [dist.ipfs.tech](https://dist.ipfs.tech/#kubo)
93
+ </details>
94
+ - [ ] Publish the release to [NPM](https://www.npmjs.com/package/go-ipfs?activeTab=versions) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-npm` (⚠️ you might need to run the command a couple of times because GHA might not be able to see the new distribution straight away due to caching) or ...</summary>
95
+ - [ ] run the [Release to npm](https://github.com/ipfs/npm-go-ipfs/actions/workflows/main.yml) workflow
96
+ - [ ] check [Release to npm](https://github.com/ipfs/npm-go-ipfs/actions/workflows/main.yml) workflow run logs to verify it discovered the new release
97
+ - [ ] verify the release is available on [NPM](https://www.npmjs.com/package/go-ipfs?activeTab=versions)
98
+ </details>
99
+ - [ ] Publish the release to [GitHub](https://github.com/ipfs/kubo/releases) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-github` or ...</summary>
100
+ - [ ] create a new release on [GitHub](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release)
101
+ - [RC example](https://github.com/ipfs/kubo/releases/tag/v0.17.0-rc1)
102
+ - [FINAL example](https://github.com/ipfs/kubo/releases/tag/v0.17.0)
103
+ - [ ] use the `vX.Y.Z(-RCN)` tag
104
+ - [ ] link to the release issue
105
+ - [ ]  link to the changelog in the description
106
+ - [ ]  check the `This is a pre-release` checkbox
107
+ - [ ]  copy the changelog (without the header) in the description
108
+ - [ ]  do **NOT** check the `This is a pre-release` checkbox
109
+ - [ ] run the [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow
110
+ - [ ] wait for the [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow run to finish
111
+ - [ ] verify the release assets are present in the [GitHub release](https://github.com/ipfs/kubo/releases/tag/vX.Y.Z(-RCN))
112
+ </details>
113
+- [ ] Update Kubo staging environment, see the [Running Kubo tests on staging](https://www.notion.so/Running-Kubo-tests-on-staging-488578bb46154f9bad982e4205621af8) for details.
114
+ - [ ]  Test last release against the current RC
115
+ - [ ]  Test last release against the current one
116
- [ ] Promote the release <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) promote` or ...</summary>
117
- [ ] create an [IPFS Discourse](https://discuss.ipfs.tech) topic
118
- [prerelease example](https://discuss.ipfs.tech/t/kubo-v0-16-0-rc1-release-candidate-is-out/15248)
@@ -151,10 +153,6 @@ This section covers tasks to be done during each release.
153
- [ ]  run the [update-on-new-ipfs-tag.yml](https://github.com/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml) workflow
154
- [ ]  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
155
</details>
154
-- [ ]  Ask Brave to update Kubo in Brave Desktop
155
- - [ ]  use [this link](https://github.com/brave/brave-browser/issues/new?assignees=&labels=OS%2FDesktop&projects=&template=desktop.md&title=) to create an issue for the new Kubo version
156
- - [basic example](https://github.com/brave/brave-browser/issues/31453), [example with additional notes](https://github.com/brave/brave-browser/issues/27965)
157
- - [ ]  post link to the issue in `#shared-pl-brave` for visibility
156
- [ ]  Create a blog entry on [blog.ipfs.tech](https://blog.ipfs.tech) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-blog --date YYYY-MM-DD` or ...</summary>
157
- [ ]  create a PR which adds a release note for the new Kubo version
158
- [example](https://github.com/ipfs/ipfs-blog/pull/529)
docs/RELEASE_ISSUE_TEMPLATE.md
+1
-2
@@ -1,4 +1,4 @@
1
-<!-- Last updated during [v0.27.0 release](https://github.com/ipfs/kubo/issues/10306) -->
1
+<!-- Last updated during [v0.30.0 release](https://github.com/ipfs/kubo/pull/10496) -->
2
3
# Items to do upon creating the release issue
4
@@ -22,7 +22,6 @@
22
* Expected RC date: week of YYYY-MM-DD
23
* 🚢 Expected final release date: YYYY-MM-DD
24
* Release PR: <add link once release PR is created>
25
-* Thunderdome PR: <add link once thunderdome PR is created>
25
* Accompanying PR for improving the release process: ([example](https://github.com/ipfs/kubo/pull/9391))
26
* Changelog: https://github.com/ipfs/kubo/blob/master/docs/changelogs/vX.Y.md
27
docs/releases_thunderdome.md
+1
-1
@@ -50,7 +50,7 @@ This will build the Docker images, upload them to ECR, and then launch the exper
50
51
## Analyze Results
52
53
-Add a log entry in https://www.notion.so/pl-strflt/ce2d1bd56f3541028d960d3711465659 and link to it from the release issue, so that experiment results are publicly visible.
53
+Add a log entry in https://www.notion.so/ceb2047e79f2498494077a2739a6c493 and link to it from the release issue, so that experiment results are publicly visible.
54
55
The `deploy` command will output a link to the Grafana dashboard for the experiment. We don't currently have rigorous acceptance criteria, so you should look for anomalies or changes in the metrics and make sure they are tolerable and explainable. Unexplainable anomalies should be noted in the log with a screenshot, and then root caused.
56