-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: new release process to include Status fleets #2825
Changes from all commits
5eec2d7
0a77c2d
f55a1e5
195818d
03b864b
971a3bf
94c0825
f70ca06
dc35baa
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,14 +14,56 @@ For detailed info on the release process refer to https://github.com/waku-org/nw | |
--> | ||
|
||
### Items to complete | ||
- [ ] create release branch | ||
- [ ] assign release candidate tag | ||
- [ ] validate release candidate | ||
- [ ] generate and edit releases notes | ||
- [ ] open PR and merge release notes to master | ||
- [ ] cherry-pick release notes to the release branch | ||
- [ ] assign release tag to the cherry-picked release notes commit | ||
- [ ] create GitHub release | ||
- [ ] deploy the release to DockerHub | ||
- [ ] [deploy release to `waku.sandbox` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-waku-sandbox) | ||
- [ ] announce the release | ||
|
||
All items below are to be completed by the owner of the given release. | ||
|
||
Note that `status.staging` refers to `shards.staging` fleet (rename is wip). | ||
|
||
- [ ] Create release branch | ||
- [ ] Assign release candidate tag to the release branch HEAD. e.g. v0.30.0-rc.0 | ||
- [ ] Generate and edit releases notes in CHANGELOG.md | ||
- [ ] _End user impact_: Summarize impact of changes on Status end users (can be a comment in this issue). | ||
- [ ] **Validate release candidate** | ||
|
||
- [ ] Automated testing | ||
- [ ] Ensures js-waku tests are green against release candidate | ||
- [ ] Ask Vac-QA and Vac-DST to perform available tests against release candidate | ||
|
||
- [ ] **On Waku fleets** | ||
- [ ] Lock `waku.test` fleet to release candidate version | ||
- [ ] Continuously stress `waku.test` fleet for a week (e.g. from `wakudev`) | ||
- [ ] Search _Kibana_ logs from the previous month (since last release was deployed), for possible crashes or errors in `waku.test` and `waku.sandbox`. | ||
- Most relevant logs are `(fleet: "waku.test" OR fleet: "waku.sandbox") AND message: "SIGSEGV"` | ||
- [ ] Run release candidate with `waku-simulator`, ensure that nodes connected to each other | ||
- [ ] Unlock `waku.test` to resume auto-deployment of latest `master` commit | ||
|
||
- [ ] **On Status fleet** | ||
- [ ] Deploy release candidate to `status.staging` | ||
- [ ] Perform [sanity check](https://www.notion.so/How-to-test-Nwaku-on-Status-12c6e4b9bf06420ca868bd199129b425) and log results as comments in this issue. | ||
- [ ] Connect 2 instances to `status.staging` fleet, one in relay mode, the other one in light client. | ||
- [ ] 1:1 Chats with each other | ||
- [ ] Send and receive messages in a community | ||
- [ ] Close one instance, send messages with second instance, reopen first instance and confirm messages sent while offline are retrieved from store | ||
- [ ] Perform checks based _end user impact_ | ||
gabrielmer marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [ ] Ask other (Waku and Status) CCs to point their instance to `status.staging` for a week and use the app as usual. | ||
- [ ] Ask Status-QA to perform sanity checks (as described above) + checks based on _end user impact_; do specify the version being tested | ||
- [ ] Ask Status-QA or infra to run the automated Status e2e tests against `status.staging` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We believe this is the test suite: https://ci.infra.status.im/job/status-desktop/job/e2e/job/manual/ unclear how to run it against a specific fleet ( |
||
- [ ] Get other CCs sign-off: they comment on this PR "used app for a week, no problem", or problem reported, resolved and new RC | ||
- [ ] **Get Status-QA sign-off**. Ensuring that `status.test` update will not disturb ongoing activities. | ||
|
||
- [ ] **Proceed with release** | ||
|
||
- [ ] Assign a release tag to the same commit that contains the validated release-candidate tag | ||
- [ ] Create GitHub release | ||
- [ ] Deploy the release to DockerHub | ||
- [ ] Announce the release | ||
|
||
- [ ] **Promote release to fleets**. | ||
- [ ] Update infra config with any deprecated arguments or changed options | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I added this to avoid bad surprises. |
||
- [ ] [Deploy final release to `waku.sandbox` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-waku-sandbox) | ||
- [ ] [Deploy final release to `status.staging` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-shards-staging/) | ||
- [ ] [Deploy final release to `status.test` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-shards-test/) ([soon to be `status.prod`](https://github.com/status-im/infra-shards/issues/33)) | ||
|
||
Ivansete-status marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [ ] **Post release** | ||
- [ ] Submit a PR from the release branch to master. Important to commit the PR with "create a merge commit" option. | ||
- [ ] Update waku-org/nwaku-compose with the new release version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @fbarbu15 @Zorlin