RELEASE_ISSUE_TEMPLATE.md 5.19 KB
Newer Older
1
> Release Issue Template
2

3
# go-ipfs X.Y.Z Release
4 5 6

We're happy to announce go-ipfs X.Y.Z, bla bla...

David Dias's avatar
David Dias committed
7 8 9 10 11
## 🗺 What's left for release

<List of items with PRs and/or Issues to be considered for this release>

## 🔦 Highlights
12

13 14 15 16 17 18
< top highlights for this release notes >

## Changelog

< changelog generated by bin/mkreleaselog >

David Dias's avatar
David Dias committed
19 20 21 22 23 24
## ✅ Release Checklist

For each RC published in each stage:

- version string in `version.go` has been updated
- tag commit with vX.Y.Z-rcN
25 26 27

Checklist:

28
- [ ] **Stage 1 - Internal Testing**
Steven Allen's avatar
Steven Allen committed
29
  - [ ] Feature freeze. If any "non-trivial" changes (see the footnotes of [docs/releases.md](https://github.com/ipfs/go-ipfs/tree/master/docs/releases.md) for a definition) get added to the release, uncheck all the checkboxes and return to this stage.
David Dias's avatar
David Dias committed
30
  - [ ] CHANGELOG.md has been updated
31
    - use [`./bin/mkreleaselog`](https://github.com/ipfs/go-ipfs/tree/master/bin/mkreleaselog) to generate a nice starter list
David Dias's avatar
David Dias committed
32
  - [ ] Automated Testing (already tested in CI) - Ensure that all tests are passing, this includes:
33 34
    - [ ] unit, sharness, cross-build, etc (`make test`)
    - [ ] lint (`make test_go_lint`)
David Dias's avatar
David Dias committed
35
    - [ ] [interop](https://github.com/ipfs/interop#test-with-a-non-yet-released-version-of-go-ipfs)
36 37
    - [ ] [go-ipfs-api](https://github.com/ipfs/go-ipfs-api)
    - [ ] [go-ipfs-http-client](https://github.com/ipfs/go-ipfs-http-client)
David Dias's avatar
David Dias committed
38
  - [ ] Network Testing:
39
    - [ ] test lab things - TBD
David Dias's avatar
David Dias committed
40 41 42 43 44 45 46 47 48 49
  - [ ] Infrastructure Testing:
    - [ ] Deploy new version to a subset of Bootstrappers
    - [ ] Deploy new version to a subset of Gateways
    - [ ] Deploy new version to a subset of Preload nodes
    - [ ] Collect metrics every day. Work with the Infrastructure team to learn of any hiccup
  - [ ] IPFS Application Testing -  Run the tests of the following applications:
    - [ ] WebUI
    - [ ] IPFS Desktop
    - [ ] IPFS Companion
    - [ ] NPM on IPFS
50
- [ ] **Stage 2 - Public Beta**
51
  - [ ] Reach out to the IPFS _early testers_ listed in [docs/EARLY_TESTERS.md](https://github.com/ipfs/go-ipfs/tree/master/docs/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.
David Dias's avatar
David Dias committed
52 53 54
  - [ ] Reach out to on IRC for beta testers.
  - [ ] Run tests available in the following repos with the latest beta (check when all tests pass):
    - [ ] [orbit-db](https://github.com/orbitdb/orbit-db)
55
- [ ] **Stage 3 - Soft Release**
David Dias's avatar
David Dias committed
56
  - [ ] Documentation
57 58
    - [ ] Ensure that [CHANGELOG.md](https://github.com/ipfs/go-ipfs/tree/master/CHANGELOG.md) is up to date
    - [ ] Ensure that [README.md](https://github.com/ipfs/go-ipfs/tree/master/README.md)  is up to date
David Dias's avatar
David Dias committed
59 60
    - [ ] Ensure that all the examples we have produced for go-ipfs run without problems
    - [ ] Update HTTP-API Documentation on the Website using https://github.com/ipfs/http-api-docs
61
  - [ ] Invite the IPFS [_early testers_](https://github.com/ipfs/go-ipfs/tree/master/docs/EARLY_TESTERS.md) to deploy the release to part of their production infrastructure.
David Dias's avatar
David Dias committed
62 63 64 65
  - [ ] Invite the wider community through (link to the release issue):
    - [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements)
    - [ ] Twitter
    - [ ] IRC
66
- [ ] **Stage 4 - Release**
David Dias's avatar
David Dias committed
67
  - [ ] Final preparation
68
    - [ ] Verify that version string in [`repo/version.go`](https://github.com/ipfs/go-ipfs/tree/master/repo/version.go) has been updated
David Dias's avatar
David Dias committed
69 70
    - [ ] tag commit with vX.Y.Z
    - [ ] update release branch to point to release commit (`git merge vX.Y.Z`).
71 72
    - [ ] publish [dist.ipfs.io](https://dist.ipfs.io)
    - [ ] publish next version to [npm-go-ipfs](https://github.com/ipfs/npm-go-ipfs)
David Dias's avatar
David Dias committed
73 74 75 76
  - [ ] Publish a Release Blog post (at minimum, a c&p of this release issue with all the highlights, API changes, link to changelog and thank yous)
  - [ ] Broadcasting (link to blog post)
    - [ ] Twitter
    - [ ] IRC
77
    - [ ] [Reddit](https://reddit.com/r/ipfs)
David Dias's avatar
David Dias committed
78
    - [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements)
79
    - [ ] Announce it on the [IPFS Users Mailing List](https://groups.google.com/forum/#!forum/ipfs-users)
David Dias's avatar
David Dias committed
80 81

## ❤️ Contributors
82 83 84 85 86 87 88 89

< list generated by bin/mkreleaselog >

Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started:

- Check the issues with the `help wanted` label in the [go-ipfs repo](https://github.com/ipfs/go-ipfs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
- Join an IPFS All Hands, introduce yourself and let us know where you would like to contribute - https://github.com/ipfs/team-mgmt/#weekly-ipfs-all-hands
- Hack with IPFS and show us what you made! The All Hands call is also the perfect venue for demos, join in and show us what you built
90
- Join the discussion at [discuss.ipfs.io](https://discuss.ipfs.io/) and help users finding their answers.
91 92
- Join the [Go Core Dev Team Weekly Sync](https://github.com/ipfs/team-mgmt/issues/650) and be part of the Sprint action!

93
## ⁉️ Do you have questions?
94 95 96

The best place to ask your questions about IPFS, how it works and what you can do with it is at [discuss.ipfs.io](http://discuss.ipfs.io). We are also available at the `#ipfs` channel on Freenode, which is also [accessible through our Matrix bridge](https://riot.im/app/#/room/#freenode_#ipfs:matrix.org).