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

docs: update RELEASE_TEMPLATE.md #2464

Merged
merged 3 commits into from
Sep 18, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 48 additions & 37 deletions doc/RELEASE_ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,45 @@
- [ ] interop
- [ ] sharness
- [ ] **Stage 1 - Internal Testing**
- [ ] Documentation
- [ ] Ensure that [README.md](https://github.com/ipfs/js-ipfs/tree/master/README.md) is up to date
- [ ] Install section
- [ ] API calls
- [ ] Packages Listing
- [ ] Ensure that all the examples run without problems:
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-add-readable-stream
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-browserify
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-create-react-app
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-mfs
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-parceljs
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-readablestream
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-script-tag
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-video-streaming
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-vue
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-webpack
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/circuit-relaying
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-ipfs-repo
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-libp2p
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/exchange-files-in-browser
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/explore-ethereum-blockchain
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/ipfs-101
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/run-in-electron
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/running-multiple-nodes
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/traverse-ipld-graphs
- [ ] Publish a release candidate to npm
```sh
# All succesful builds of master update the `build/last-successful branch which contains a npm-shrinkwrap.json.
# This command checks that branch out, installs it's dependencies using `npm ci`, creates a release branch
# (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
npx aegir publish-rc

# Later we may wish to update the rc. It's assumed you've already cherry-picked/otherwise merged the new commits
# into the release branch on github (e.g. not locally) and CI has passed. This command pulls the latest release
# branch, installs it's dependencies `npm ci`, increments the prerelease version (e.g. 0.34.0-rc.0 -> 0.34.0-rc.1)
# and publishes it to npm
# Later we may wish to update the rc. First cherry-picked/otherwise merged the new commits into the release
# branch on github (e.g. not locally) and wait for CI to pass. First update the lockfiles used by ci (n.b. one
# day this will be done by our ci tools):
npx aegir update-release-branch-lockfiles v0.34.x

# Then update the rc publisehd on npm. This command pulls the specified release branch, installs it's dependencies
# `npm ci`, increments the prerelease version (e.g. 0.34.0-rc.0 -> 0.34.0-rc.1) and publishes it to npm
npx aegir update-rc v0.34.x
```
- Network Testing:
Expand All @@ -52,54 +80,37 @@
- [ ] [ipfs-pubsub-room](https://github.com/ipfs-shipyard/ipfs-pubsub-room)
- [ ] [peer-base](https://github.com/peer-base/peer-base)
- [ ] [service-worker-gateway](https://github.com/ipfs-shipyard/service-worker-gateway)
- [ ] **Stage 2 - Community Dev Testing**
- [ ] 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.
- [ ] Reach out on IRC for additional early testers.
- [ ] Run tests available in the following repos with the latest RC:
- [ ] [ipfs-log](https://github.com/orbitdb/ipfs-log)
- [ ] [orbit-db](https://github.com/orbitdb/orbit-db)
- [ ] **Stage 2 - Community Dev Testing**
- [ ] 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.
- [ ] Reach out on IRC for additional early testers.

- [ ] **Stage 3 - Community Prod Testing**
- [ ] Documentation
- [ ] Ensure that [README.md](https://github.com/ipfs/js-ipfs/tree/master/README.md) is up to date
- [ ] Install section
- [ ] API calls
- [ ] Packages Listing
- [ ] Ensure that all the examples run without problems:
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-add-readable-stream
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-browserify
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-mfs
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-parceljs
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-readablestream
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-script-tag
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-video-streaming
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-vue
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-webpack
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/circuit-relaying
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-ipfs-repo
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-libp2p
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/exchange-files-in-browser
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/explore-ethereum-blockchain
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/ipfs-101
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/run-in-electron
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/running-multiple-nodes
- [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/traverse-ipld-graphs
- [ ] Update [js.ipfs.io](https://js.ipfs.io) examples to use the latest js-ipfs
- [ ] Update [js.ipfs.io](https://js.ipfs.io) examples to use the latest js-ipfs
- [ ] 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.
- [ ] Invite the wider community (link to the release issue):
- [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements)
- [ ] Twitter
- [ ] IRC
- [ ] **Stage 4 - Release**
- [ ] 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).
- [ ] 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).
- [ ] Publish to npm:
```sh
# Clean out node_modules and re-install dependencies
# (Ensures you have the latest versions for the browser build)
rm -rf node_modules package-lock.json
npm install
# Re-install dependencies using lockfile (will automatically remove your node_modules folder)
# (Ensures the versions used for the browser build are the same that have been verified by CI)
npm ci

# lint, build, test, tag, publish
npm run release-minor

# reintegrate release branch into master
git rm npm-shrinkwrap.json yarn.lock
git commit -m 'chore: removed lock files'
git checkout master
git merge v0.34.x
git push
```
- [ ] 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)
- [ ] Broadcasting (link to blog post)
Expand Down