|
27 | 27 | - [ ] interop
|
28 | 28 | - [ ] sharness
|
29 | 29 | - [ ] **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 |
30 | 55 | - [ ] Publish a release candidate to npm
|
31 | 56 | ```sh
|
32 | 57 | # All succesful builds of master update the `build/last-successful branch which contains a npm-shrinkwrap.json.
|
33 | 58 | # This command checks that branch out, installs it's dependencies using `npm ci`, creates a release branch
|
34 | 59 | # (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
|
35 | 60 | npx aegir publish-rc
|
36 | 61 |
|
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 |
41 | 69 | npx aegir update-rc v0.34.x
|
42 | 70 | ```
|
43 | 71 | - Network Testing:
|
|
52 | 80 | - [ ] [ipfs-pubsub-room](https://github.com/ipfs-shipyard/ipfs-pubsub-room)
|
53 | 81 | - [ ] [peer-base](https://github.com/peer-base/peer-base)
|
54 | 82 | - [ ] [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. |
58 | 83 | - [ ] Run tests available in the following repos with the latest RC:
|
59 | 84 | - [ ] [ipfs-log](https://github.com/orbitdb/ipfs-log)
|
60 | 85 | - [ ] [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 | +
|
61 | 90 | - [ ] **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 |
87 | 92 | - [ ] 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.
|
88 | 93 | - [ ] Invite the wider community (link to the release issue):
|
89 | 94 | - [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements)
|
90 | 95 | - [ ] Twitter
|
91 | 96 | - [ ] IRC
|
92 | 97 | - [ ] **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). |
94 | 99 | - [ ] Publish to npm:
|
95 | 100 | ```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 |
100 | 104 |
|
101 | 105 | # lint, build, test, tag, publish
|
102 | 106 | 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 |
103 | 114 | ```
|
104 | 115 | - [ ] 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)
|
105 | 116 | - [ ] Broadcasting (link to blog post)
|
|
0 commit comments