|
| 1 | +--- |
| 2 | +name: Prepare Full Release |
| 3 | +about: Execute tasks for the creation and publishing of a new full release |
| 4 | +title: 'Prepare full release 0.0.0' |
| 5 | +labels: full-release |
| 6 | +assignees: '' |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +<!-- |
| 11 | +Add appropriate release number to title! |
| 12 | +
|
| 13 | +For detailed info on the release process refer to https://github.com/logos-messaging/nwaku/blob/master/docs/contributors/release-process.md |
| 14 | + --> |
| 15 | + |
| 16 | +### Items to complete |
| 17 | + |
| 18 | +All items below are to be completed by the owner of the given release. |
| 19 | + |
| 20 | +- [ ] Create release branch with major and minor only ( e.g. release/v0.X ) if it doesn't exist. |
| 21 | +- [ ] Assign release candidate tag to the release branch HEAD (e.g. `v0.X.0-rc.0`, `v0.X.0-rc.1`, ... `v0.X.0-rc.N`). |
| 22 | +- [ ] Generate and edit release notes in CHANGELOG.md. |
| 23 | + |
| 24 | +- [ ] **Validation of release candidate** |
| 25 | + |
| 26 | + - [ ] **Automated testing** |
| 27 | + - [ ] Ensure all the unit tests (specifically js-waku tests) are green against the release candidate. |
| 28 | + - [ ] Ask Vac-QA and Vac-DST to perform the available tests against the release candidate. |
| 29 | + - [ ] Vac-DST (an additional report is needed; see [this](https://www.notion.so/DST-Reports-1228f96fb65c80729cd1d98a7496fe6f)) |
| 30 | + |
| 31 | + - [ ] **Waku fleet testing** |
| 32 | + - [ ] Deploy the release candidate to `waku.test` and `waku.sandbox` fleets. |
| 33 | + - Start the [deployment job](https://ci.infra.status.im/job/nim-waku/) for both fleets and wait for it to finish (Jenkins access required; ask the infra team if you don't have it). |
| 34 | + - After completion, disable [deployment job](https://ci.infra.status.im/job/nim-waku/) so that its version is not updated on every merge to `master`. |
| 35 | + - Verify the deployed version at https://fleets.waku.org/. |
| 36 | + - Confirm the container image exists on [Harbor](https://harbor.status.im/harbor/projects/9/repositories/nwaku/artifacts-tab). |
| 37 | + - [ ] Search _Kibana_ logs from the previous month (since the last release was deployed) for possible crashes or errors in `waku.test` and `waku.sandbox`. |
| 38 | + - Most relevant logs are `(fleet: "waku.test" AND message: "SIGSEGV")` OR `(fleet: "waku.sandbox" AND message: "SIGSEGV")`. |
| 39 | + - [ ] Enable again the `waku.test` fleet to resume auto-deployment of the latest `master` commit. |
| 40 | + |
| 41 | +- [ ] **Status fleet testing** |
| 42 | + - [ ] Deploy release candidate to `status.staging` |
| 43 | + - [ ] Perform [sanity check](https://www.notion.so/How-to-test-Nwaku-on-Status-12c6e4b9bf06420ca868bd199129b425) and log results as comments in this issue. |
| 44 | + - [ ] Connect 2 instances to `status.staging` fleet, one in relay mode, the other one in light client. |
| 45 | + - 1:1 Chats with each other |
| 46 | + - Send and receive messages in a community |
| 47 | + - Close one instance, send messages with second instance, reopen first instance and confirm messages sent while offline are retrieved from store |
| 48 | + - [ ] Perform checks based on _end user impact_ |
| 49 | + - [ ] Inform other (Waku and Status) CCs to point their instances to `status.staging` for a few days. Ping Status colleagues on their Discord server or in the [Status community](https://status.app/c/G3kAAMSQtb05kog3aGbr3kiaxN4tF5xy4BAGEkkLwILk2z3GcoYlm5hSJXGn7J3laft-tnTwDWmYJ18dP_3bgX96dqr_8E3qKAvxDf3NrrCMUBp4R9EYkQez9XSM4486mXoC3mIln2zc-TNdvjdfL9eHVZ-mGgs=#zQ3shZeEJqTC1xhGUjxuS4rtHSrhJ8vUYp64v6qWkLpvdy9L9) (this is not a blocking point.) |
| 50 | + - [ ] Ask Status-QA to perform sanity checks (as described above) and checks based on _end user impact_; specify the version being tested |
| 51 | + - [ ] Ask Status-QA or infra to run the automated Status e2e tests against `status.staging` |
| 52 | + - [ ] Get other CCs' sign-off: they should comment on this PR, e.g., "Used the app for a week, no problem." If problems are reported, resolve them and create a new RC. |
| 53 | + - [ ] **Get Status-QA sign-off**, ensuring that the `status.test` update will not disturb ongoing activities. |
| 54 | + |
| 55 | +- [ ] **Proceed with release** |
| 56 | + |
| 57 | + - [ ] Assign a final release tag (`v0.X.0`) to the same commit that contains the validated release-candidate tag (e.g. `v0.X.0`). |
| 58 | + - [ ] Update [nwaku-compose](https://github.com/logos-messaging/nwaku-compose) and [waku-simulator](https://github.com/logos-messaging/waku-simulator) according to the new release. |
| 59 | + - [ ] Bump nwaku dependency in [waku-rust-bindings](https://github.com/logos-messaging/waku-rust-bindings) and make sure all examples and tests work. |
| 60 | + - [ ] Bump nwaku dependency in [waku-go-bindings](https://github.com/logos-messaging/waku-go-bindings) and make sure all tests work. |
| 61 | + - [ ] Create GitHub release (https://github.com/logos-messaging/nwaku/releases). |
| 62 | + - [ ] Submit a PR to merge the release branch back to `master`. Make sure you use the option "Merge pull request (Create a merge commit)" to perform the merge. Ping repo admin if this option is not available. |
| 63 | + |
| 64 | +- [ ] **Promote release to fleets** |
| 65 | + - [ ] Ask the PM lead to announce the release. |
| 66 | + - [ ] Update infra config with any deprecated arguments or changed options. |
| 67 | + |
| 68 | +### Links |
| 69 | + |
| 70 | +- [Release process](https://github.com/logos-messaging/nwaku/blob/master/docs/contributors/release-process.md) |
| 71 | +- [Release notes](https://github.com/logos-messaging/nwaku/blob/master/CHANGELOG.md) |
| 72 | +- [Fleet ownership](https://www.notion.so/Fleet-Ownership-7532aad8896d46599abac3c274189741?pvs=4#d2d2f0fe4b3c429fbd860a1d64f89a64) |
| 73 | +- [Infra-nim-waku](https://github.com/status-im/infra-nim-waku) |
| 74 | +- [Jenkins](https://ci.infra.status.im/job/nim-waku/) |
| 75 | +- [Fleets](https://fleets.waku.org/) |
| 76 | +- [Harbor](https://harbor.status.im/harbor/projects/9/repositories/nwaku/artifacts-tab) |
0 commit comments