feat: add stage 0

We do automated testing before we test on infra, etc. Make that explicit.
This commit is contained in:
Steven Allen 2019-08-02 10:45:23 -07:00
parent cd3fcb9b88
commit d433d7c9ac
2 changed files with 14 additions and 11 deletions

View File

@ -30,16 +30,17 @@ For each RC published in each stage:
Checklist:
- [ ] **Stage 1 - Internal Testing**
- [ ] **Stage 0 - Automated Testing**
- [ ] 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.
- [ ] CHANGELOG.md has been updated
- use [`./bin/mkreleaselog`](https://github.com/ipfs/go-ipfs/tree/master/bin/mkreleaselog) to generate a nice starter list
- [ ] Automated Testing (already tested in CI) - Ensure that all tests are passing, this includes:
- [ ] unit, sharness, cross-build, etc (`make test`)
- [ ] lint (`make test_go_lint`)
- [ ] [interop](https://github.com/ipfs/interop#test-with-a-non-yet-released-version-of-go-ipfs)
- [ ] [go-ipfs-api](https://github.com/ipfs/go-ipfs-api)
- [ ] [go-ipfs-http-client](https://github.com/ipfs/go-ipfs-http-client)
- [ ] **Stage 1 - Internal Testing**
- [ ] CHANGELOG.md has been updated
- use [`./bin/mkreleaselog`](https://github.com/ipfs/go-ipfs/tree/master/bin/mkreleaselog) to generate a nice starter list
- [ ] Network Testing:
- [ ] test lab things - TBD
- [ ] Infrastructure Testing:
@ -52,12 +53,12 @@ Checklist:
- [ ] [IPFS Desktop](https://github.com/ipfs-shipyard/ipfs-desktop) - @hacdias
- [ ] [IPFS Companion](https://github.com/ipfs-shipyard/ipfs-companion) - @lidel
- [ ] [NPM on IPFS](https://github.com/ipfs-shipyard/npm-on-ipfs) - @achingbrain
- [ ] **Stage 2 - Public Beta**
- [ ] **Stage 2 - Community Dev Testing**
- [ ] 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.
- [ ] 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)
- [ ] **Stage 3 - Soft Release**
- [ ] **Stage 3 - Community Prod Testing**
- [ ] Documentation
- [ ] 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

View File

@ -17,12 +17,14 @@ We might expand the six week release schedule in case of:
## Release Flow
`go-ipfs` releases come in 4 stages designed to gradually roll out changes and reduce the impact of any regressions that may have been introduced. If we need to merge non-trivial<sup>[2]</sup> changes during the process, we start over at stage 1.
`go-ipfs` releases come in 5 stages designed to gradually roll out changes and reduce the impact of any regressions that may have been introduced. If we need to merge non-trivial<sup>[2]</sup> changes during the process, we start over at stage 0.
### Stage 0 - Automated Testing
At this stage, we expect _all_ automated tests (interop, testlab, performance, etc.) to pass.
### Stage 1 - Internal Testing
Before this stage, we expect _all_ tests (interop, testlab, performance, etc.) to pass.
At this stage, we'll:
- 1. Start a partial-rollout to our own infrastructure.
- 2. Test against ipfs and ipfs-shipyard applications.
@ -31,13 +33,13 @@ At this stage, we'll:
- 1. Make sure we haven't introduced any obvious regressions.
- 2. Test the release in an environment we can monitor and easily roll back (i.e., our own infra).
### Stage 2 - Public Beta
### Stage 2 - Community Dev Testing
At this stage, we'll announce the impending release to the community and ask for beta testers.
**Goal:** Test the release in as many non-production environments as possible. This is relatively low-risk but gives us a _breadth_ of testing internal testing can't.
### Stage 3 - Soft Release
### Stage 3 - Community Prod Testing
At this stage, we consider the release to be "production ready" and ask will ask the community and our early testers to (partially) deploy the release to their production infrastructure.
@ -53,7 +55,7 @@ At this stage, the release is "battle hardened" and ready for wide deployment.
## Performing a Release
The release is managed by the `Lead Maintainer` for `go-ipfs`. It starts with the opening of an issue containing the content available on the [RELEASE_ISSUE_TEMPLATE](./RELEASE_ISSUE_TEMPLATE.md). Then, the 4 stages will be followed until the release is done.
The release is managed by the `Lead Maintainer` for `go-ipfs`. It starts with the opening of an issue containing the content available on the [RELEASE_ISSUE_TEMPLATE](./RELEASE_ISSUE_TEMPLATE.md). Then, the 5 stages will be followed until the release is done.
## Release Version Numbers (aka semver)