Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit 3de94a5

Browse files
authored
docs: update RELEASE_TEMPLATE.md (#2464)
* docs: update RELEASE_TEMPLATE.md * Do the doc update before cutting a release branch * Run tests against popular third party repos as well as our own * Documents commands for updating lockfiles (should be run on CI, ideally) * Documents commands for performing release with verified dependencies and reintegrating release branch to master * Update doc/RELEASE_ISSUE_TEMPLATE.md Fix typo Co-Authored-By: Hugo Dias <hugomrdias@gmail.com> * docs: add js-ipfs-contributors tool mention
1 parent 7cb08c2 commit 3de94a5

File tree

1 file changed

+48
-37
lines changed

1 file changed

+48
-37
lines changed

doc/RELEASE_ISSUE_TEMPLATE.md

Lines changed: 48 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,45 @@
2727
- [ ] interop
2828
- [ ] sharness
2929
- [ ] **Stage 1 - Internal Testing**
30+
- [ ] Documentation
31+
- [ ] Ensure that [README.md](https://github.com/ipfs/js-ipfs/tree/master/README.md) is up to date
32+
- [ ] Install section
33+
- [ ] API calls
34+
- [ ] Packages Listing
35+
- [ ] Ensure that all the examples run without problems:
36+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-add-readable-stream
37+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-browserify
38+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-create-react-app
39+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-mfs
40+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-parceljs
41+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-readablestream
42+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-script-tag
43+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-video-streaming
44+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-vue
45+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-webpack
46+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/circuit-relaying
47+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-ipfs-repo
48+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-libp2p
49+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/exchange-files-in-browser
50+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/explore-ethereum-blockchain
51+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/ipfs-101
52+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/run-in-electron
53+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/running-multiple-nodes
54+
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/traverse-ipld-graphs
3055
- [ ] Publish a release candidate to npm
3156
```sh
3257
# All succesful builds of master update the `build/last-successful branch which contains a npm-shrinkwrap.json.
3358
# This command checks that branch out, installs it's dependencies using `npm ci`, creates a release branch
3459
# (e.g. v0.34.x), updates the minor prerelease version (e.g. 0.33.1 -> 0.34.0-rc.0) and publishes it to npm
3560
npx aegir publish-rc
3661

37-
# Later we may wish to update the rc. It's assumed you've already cherry-picked/otherwise merged the new commits
38-
# into the release branch on github (e.g. not locally) and CI has passed. This command pulls the latest release
39-
# branch, installs it's dependencies `npm ci`, increments the prerelease version (e.g. 0.34.0-rc.0 -> 0.34.0-rc.1)
40-
# and publishes it to npm
62+
# Later we may wish to update the rc. First cherry-picked/otherwise merged the new commits into the release
63+
# branch on github (e.g. not locally) and wait for CI to pass. First update the lockfiles used by ci (n.b. one
64+
# day this will be done by our ci tools):
65+
npx aegir update-release-branch-lockfiles v0.34.x
66+
67+
# Then update the rc publisehd on npm. This command pulls the specified release branch, installs it's dependencies
68+
# `npm ci`, increments the prerelease version (e.g. 0.34.0-rc.0 -> 0.34.0-rc.1) and publishes it to npm
4169
npx aegir update-rc v0.34.x
4270
```
4371
- Network Testing:
@@ -52,54 +80,37 @@
5280
- [ ] [ipfs-pubsub-room](https://github.com/ipfs-shipyard/ipfs-pubsub-room)
5381
- [ ] [peer-base](https://github.com/peer-base/peer-base)
5482
- [ ] [service-worker-gateway](https://github.com/ipfs-shipyard/service-worker-gateway)
55-
- [ ] **Stage 2 - Community Dev Testing**
56-
- [ ] Reach out to the IPFS _early testers_ listed in [doc/EARLY_TESTERS.md](https://github.com/ipfs/js-ipfs/tree/master/doc/EARLY_TESTERS.md) for testing this release (check when no more problems have been reported). If you'd like to be added to this list, please file a PR.
57-
- [ ] Reach out on IRC for additional early testers.
5883
- [ ] Run tests available in the following repos with the latest RC:
5984
- [ ] [ipfs-log](https://github.com/orbitdb/ipfs-log)
6085
- [ ] [orbit-db](https://github.com/orbitdb/orbit-db)
86+
- [ ] **Stage 2 - Community Dev Testing**
87+
- [ ] Reach out to the IPFS _early testers_ listed in [doc/EARLY_TESTERS.md](https://github.com/ipfs/js-ipfs/tree/master/doc/EARLY_TESTERS.md) for testing this release (check when no more problems have been reported). If you'd like to be added to this list, please file a PR.
88+
- [ ] Reach out on IRC for additional early testers.
89+
6190
- [ ] **Stage 3 - Community Prod Testing**
62-
- [ ] Documentation
63-
- [ ] Ensure that [README.md](https://github.com/ipfs/js-ipfs/tree/master/README.md) is up to date
64-
- [ ] Install section
65-
- [ ] API calls
66-
- [ ] Packages Listing
67-
- [ ] Ensure that all the examples run without problems:
68-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-add-readable-stream
69-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-browserify
70-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-mfs
71-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-parceljs
72-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-readablestream
73-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-script-tag
74-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-video-streaming
75-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-vue
76-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-webpack
77-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/circuit-relaying
78-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-ipfs-repo
79-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-libp2p
80-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/exchange-files-in-browser
81-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/explore-ethereum-blockchain
82-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/ipfs-101
83-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/run-in-electron
84-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/running-multiple-nodes
85-
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/traverse-ipld-graphs
86-
- [ ] Update [js.ipfs.io](https://js.ipfs.io) examples to use the latest js-ipfs
91+
- [ ] Update [js.ipfs.io](https://js.ipfs.io) examples to use the latest js-ipfs
8792
- [ ] Invite the IPFS [_early testers_](https://github.com/ipfs/js-ipfs/tree/master/doc/EARLY_TESTERS.md) to deploy the release to part of their production infrastructure.
8893
- [ ] Invite the wider community (link to the release issue):
8994
- [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements)
9095
- [ ] Twitter
9196
- [ ] IRC
9297
- [ ] **Stage 4 - Release**
93-
- [ ] Take a snapshot of everyone that has contributed to this release (including its direct dependencies in IPFS, libp2p, IPLD and multiformats) using [this script](https://gist.github.com/alanshaw/5a2d9465c5a05b201d949551bdb1fcc3).
98+
- [ ] Take a snapshot of everyone that has contributed to this release (including its direct dependencies in IPFS, libp2p, IPLD and multiformats) using [the js-ipfs-contributors module](https://www.npmjs.com/package/js-ipfs-contributors).
9499
- [ ] Publish to npm:
95100
```sh
96-
# Clean out node_modules and re-install dependencies
97-
# (Ensures you have the latest versions for the browser build)
98-
rm -rf node_modules package-lock.json
99-
npm install
101+
# Re-install dependencies using lockfile (will automatically remove your node_modules folder)
102+
# (Ensures the versions used for the browser build are the same that have been verified by CI)
103+
npm ci
100104
101105
# lint, build, test, tag, publish
102106
npm run release-minor
107+
108+
# reintegrate release branch into master
109+
git rm npm-shrinkwrap.json yarn.lock
110+
git commit -m 'chore: removed lock files'
111+
git checkout master
112+
git merge v0.34.x
113+
git push
103114
```
104115
- [ ] Publish a blog post to [github.com/ipfs/blog](https://github.com/ipfs/blog) (at minimum, a c&p of this release issue with all the highlights, API changes and thank yous)
105116
- [ ] Broadcasting (link to blog post)

0 commit comments

Comments
 (0)