You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/prepare_beta_release.md
+30-25Lines changed: 30 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,36 +17,41 @@ For detailed info on the release process refer to https://github.com/waku-org/nw
17
17
18
18
All items below are to be completed by the owner of the given release.
19
19
20
-
-[ ] Create release branch
21
-
-[ ] Assign release candidate tag to the release branch HEAD. e.g. v0.30.0-rc.0
22
-
-[ ] Generate and edit releases notes in CHANGELOG.md
23
-
-[ ] Review possible update of[config-options](https://github.com/waku-org/docs.waku.org/blob/develop/docs/guides/nwaku/config-options.md)
20
+
-[ ] Create release branch ( e.g. release/v0.X.0 )
21
+
-[ ] Assign release candidate tag to the release branch HEAD. e.g. v0.X.0-rc.0..N etc.
22
+
-[ ] Generate and edit release notes in CHANGELOG.md
23
+
-[ ] Review possible updates to[config-options](https://github.com/waku-org/docs.waku.org/blob/develop/docs/guides/nwaku/config-options.md)
24
24
-[ ]_End user impact_: Summarize impact of changes on Status end users (can be a comment in this issue).
25
25
26
-
-[ ]**Waku fleets validation**
27
-
-[ ]Lock `waku.test` and `waku.sandbox` fleets to release candidate version
28
-
-[ ]Search _Kibana_ logs from the previous month (since last release was deployed), for possible crashes or errors in `waku.test` and `waku.sandbox`.
29
-
- Most relevant logs are `(fleet: "waku.test" AND message: "SIGSEGV")` OR `(fleet: "waku.sandbox" AND message: "SIGSEGV")`
30
-
-[ ] Unlock `waku.test` and `waku.sandbox`to resume auto-deployment of latest `master` commit
31
-
32
-
-[ ] Bump nwaku dependency in [waku-rust-bindings](https://github.com/waku-org/waku-rust-bindings) and make sure all examples and tests work
26
+
-[ ]**Waku test and fleets validation**
27
+
-[ ]Ensure all the unit tests (specifically js-waku tests) are green against the release candidate.
28
+
-[ ]Lock `waku.test` and `waku.sandbox` fleets to the release candidate version. [Need Jenkins access to start the fleet release; if you don't have access, ask the infra team.]
29
+
- Start job on `waku.sandbox` and `waku.test`[ Deployment job ](https://ci.infra.status.im/job/nim-waku/), Wait for completion of the job. If it fails, then debug it.
30
+
- Then lock both fleets to the release candidate version. (If you don't have access to lock fleets, ask the infra team to do it.)
31
+
- Verify at https://fleets.waku.org/ that the fleet is locked to the release candidate version.
32
+
- Check if the image is created at [harbor](https://harbor.status.im/harbor/projects/9/repositories/nwaku/artifacts-tab)
33
33
34
-
-[ ] Update according to the new release [waku-compose](https://github.com/waku-org/nwaku-compose) and [waku-simulator](https://github.com/waku-org/waku-simulator).
34
+
-[ ] Analyze Kibana logs from the previous month (since the last release was deployed) for possible crashes or errors in `waku.test` and `waku.sandbox`.
35
+
- Most relevant logs are `(fleet: "waku.test" AND message: "SIGSEGV")` OR `(fleet: "waku.sandbox" AND message: "SIGSEGV")`
36
+
-[ ] Unlock `waku.test` and `waku.sandbox` to resume auto-deployment of the latest `master` commit
35
37
36
38
-[ ]**Proceed with release**
37
39
38
-
-[ ] Assign a release tag to the same commit that contains the validated release-candidate tag
39
-
-[ ]Create GitHub release
40
-
-[ ]Deploy the release to DockerHub
41
-
-[ ]Announce the release
40
+
-[ ] Assign a release tag ( v0.X.0-beta ) to the same commit that contains the validated release-candidate tag (e.g. v0.X.0-beta) and submit a PR from the release branch to master.
41
+
-[ ]Bump nwaku dependency in [waku-rust-bindings](https://github.com/waku-org/waku-rust-bindings) and make sure all examples and tests work
42
+
-[ ]Update [waku-compose](https://github.com/waku-org/nwaku-compose) and [waku-simulator](https://github.com/waku-org/waku-simulator) according to the new release.
-[ ] Update infra config with any deprecated arguments or changed options
45
-
-[ ][Deploy final release to `waku.sandbox` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-waku-sandbox)
46
-
-[ ][Deploy final release to `status.staging` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-shards-staging/)
47
-
-[ ][Deploy final release to `status.prod` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-shards-test/)
48
-
49
-
-[ ]**Post release**
50
-
-[ ] Submit a PR from the release branch to master. Important to commit the PR with "create a merge commit" option.
51
-
-[ ] Update waku-org/nwaku-compose with the new release version.
52
-
-[ ] Update version in js-waku repo. [update only this](https://github.com/waku-org/js-waku/blob/7c0ce7b2eca31cab837da0251e1e4255151be2f7/.github/workflows/ci.yml#L135) by submitting a PR.
46
+
-[ ] Ask the PM lead to announce the release.
47
+
-[ ] Update infra config with any deprecated arguments or changed options.
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/prepare_full_release.md
+44-39Lines changed: 44 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,56 +17,61 @@ For detailed info on the release process refer to https://github.com/waku-org/nw
17
17
18
18
All items below are to be completed by the owner of the given release.
19
19
20
-
-[ ] Create release branch
21
-
-[ ] Assign release candidate tag to the release branch HEAD. e.g. v0.30.0-rc.0
22
-
-[ ] Generate and edit releases notes in CHANGELOG.md
23
-
-[ ] Review possible update of[config-options](https://github.com/waku-org/docs.waku.org/blob/develop/docs/guides/nwaku/config-options.md)
20
+
-[ ] Create release branch ( e.g. release/v0.X.0 )
21
+
-[ ] Assign release candidate tag to the release branch HEAD. e.g. v0.X.0-rc.0..N etc.
22
+
-[ ] Generate and edit release notes in CHANGELOG.md
23
+
-[ ] Review possible updates to[config-options](https://github.com/waku-org/docs.waku.org/blob/develop/docs/guides/nwaku/config-options.md)
24
24
-[ ]_End user impact_: Summarize impact of changes on Status end users (can be a comment in this issue).
25
25
26
26
-[ ]**Validation of release candidate**
27
27
28
-
-[ ]**Automated testing**
29
-
-[ ]Ask Vac-QA and Vac-DST to perform available testsagainst release candidate
30
-
-[ ] Vac-QA
31
-
-[ ] Vac-DST (we need additional report. see [this](https://www.notion.so/DST-Reports-1228f96fb65c80729cd1d98a7496fe6f))
28
+
-[ ]**Automated testing**
29
+
-[ ]Ensure all the unit tests (specifically js-waku tests) are green against the release candidate.
30
+
-[ ]Ask Vac-QA and Vac-DST to perform the available tests against the release candidate
31
+
-[ ] Vac-DST (an additional report is needed; see [this](https://www.notion.so/DST-Reports-1228f96fb65c80729cd1d98a7496fe6f))
32
32
33
-
-[ ]**Waku fleet testing**
34
-
-[ ] Lock `waku.test` and `waku.sandbox` fleets to release candidate version
35
-
-[ ] Search _Kibana_ logs from the previous month (since last release was deployed), for possible crashes or errors in `waku.test` and `waku.sandbox`.
33
+
-[ ]**Waku fleet testing**
34
+
-[ ] Lock `waku.test` and `waku.sandbox` fleets to the release candidate version. [ Need jenkins access to start fleet release, if you don't have ask infra team ]
35
+
- Start job on `waku.sandbox` and `waku.test`[ Deployment job ](https://ci.infra.status.im/job/nim-waku/), Wait for completion of the job. If it fails, then debug it.
36
+
- Then lock both fleets to the release candidate version. (If you don't have access to lock fleets, ask the infra team to do it.)
37
+
- Verify at https://fleets.waku.org/ that the fleet is locked to the release candidate version.
38
+
- Check if the image is created at [harbor](https://harbor.status.im/harbor/projects/9/repositories/nwaku/artifacts-tab)
39
+
-[ ] Search _Kibana_ logs from the previous month (since the last release was deployed) for possible crashes or errors in `waku.test` and `waku.sandbox`.
36
40
- Most relevant logs are `(fleet: "waku.test" AND message: "SIGSEGV")` OR `(fleet: "waku.sandbox" AND message: "SIGSEGV")`
37
-
-[ ] Unlock `waku.test` and `waku.sandbox` to resume auto-deployment of latest `master` commit
41
+
-[ ] Unlock `waku.test` and `waku.sandbox` to resume auto-deployment of the latest `master` commit
38
42
39
43
-[ ]**Status fleet testing**
40
-
-[ ] Deploy release candidate to `status.staging`
41
-
-[ ] Perform [sanity check](https://www.notion.so/How-to-test-Nwaku-on-Status-12c6e4b9bf06420ca868bd199129b425) and log results as comments in this issue.
42
-
-[ ] Connect 2 instances to `status.staging` fleet, one in relay mode, the other one in light client.
43
-
-[ ]1:1 Chats with each other
44
-
-[ ]Send and receive messages in a community
45
-
-[ ]Close one instance, send messages with second instance, reopen first instance and confirm messages sent while offline are retrieved from store
46
-
-[ ] Perform checks based _end user impact_
47
-
-[ ] Inform other (Waku and Status) CCs to point their instance to `status.staging` for a few days. Ping Status colleagues from their Discord server or [Status community](https://status.app/c/G3kAAMSQtb05kog3aGbr3kiaxN4tF5xy4BAGEkkLwILk2z3GcoYlm5hSJXGn7J3laft-tnTwDWmYJ18dP_3bgX96dqr_8E3qKAvxDf3NrrCMUBp4R9EYkQez9XSM4486mXoC3mIln2zc-TNdvjdfL9eHVZ-mGgs=#zQ3shZeEJqTC1xhGUjxuS4rtHSrhJ8vUYp64v6qWkLpvdy9L9) (not blocking point.)
48
-
-[ ] Ask Status-QA to perform sanity checks (as described above) + checks based on _end user impact_; do specify the version being tested
44
+
-[ ] Deploy release candidate to `status.staging`
45
+
-[ ] Perform [sanity check](https://www.notion.so/How-to-test-Nwaku-on-Status-12c6e4b9bf06420ca868bd199129b425) and log results as comments in this issue.
46
+
-[ ] Connect 2 instances to `status.staging` fleet, one in relay mode, the other one in light client.
47
+
- 1:1 Chats with each other
48
+
- Send and receive messages in a community
49
+
- Close one instance, send messages with second instance, reopen first instance and confirm messages sent while offline are retrieved from store
50
+
-[ ] Perform checks based on _end user impact_
51
+
-[ ] 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.)
52
+
-[ ] Ask Status-QA to perform sanity checks (as described above) and checks based on _end user impact_; specify the version being tested
49
53
-[ ] Ask Status-QA or infra to run the automated Status e2e tests against `status.staging`
50
-
-[ ] Get other CCs sign-off: they comment on this PR "used app for a week, no problem", or problem reported, resolved and new RC
51
-
-[ ]**Get Status-QA sign-off**. Ensuring that `status.test` update will not disturb ongoing activities.
52
-
53
-
-[ ] Bump nwaku dependency in [waku-rust-bindings](https://github.com/waku-org/waku-rust-bindings) and make sure all examples and tests work
54
-
55
-
-[ ] Update according to the new release [waku-compose](https://github.com/waku-org/nwaku-compose) and [waku-simulator](https://github.com/waku-org/waku-simulator).
54
+
-[ ] 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.
55
+
-[ ]**Get Status-QA sign-off**, ensuring that the `status.test` update will not disturb ongoing activities.
56
56
57
57
-[ ]**Proceed with release**
58
-
-[ ] Assign a release tag to the same commit that contains the validated release-candidate tag
59
-
-[ ] Create GitHub release
60
-
-[ ] Deploy the release to DockerHub
61
-
-[ ] Announce the release
58
+
59
+
-[ ] Assign a release tag ( v0.X.0 ) to the same commit that contains the validated release-candidate tag (e.g. v0.X.0-beta)
60
+
-[ ] Submit a PR from the release branch to master. It is important to commit the PR using the "Create a merge commit" option.
61
+
-[ ] Bump nwaku dependency in [waku-rust-bindings](https://github.com/waku-org/waku-rust-bindings) and make sure all examples and tests work
62
+
-[ ] Update [waku-compose](https://github.com/waku-org/nwaku-compose) and [waku-simulator](https://github.com/waku-org/waku-simulator) according to the new release.
-[ ]Update infra config with any deprecated arguments or changed options
65
-
-[ ][Deploy final release to `waku.sandbox` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-waku-sandbox)
66
-
-[ ][Deploy final release to `status.staging` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-shards-staging/)
67
-
-[ ][Deploy final release to `status.prod` fleet](https://ci.infra.status.im/job/nim-waku/job/deploy-shards-test/)
66
+
-[ ]Ask for release announcement to PM lead.
67
+
-[ ]Update infra config with any deprecated arguments or changed options.
68
+
69
+
### Links
68
70
69
-
-[ ]**Post release**
70
-
-[ ] Submit a PR from the release branch to master. Important to commit the PR with "create a merge commit" option.
71
-
-[ ] Update waku-org/nwaku-compose with the new release version.
72
-
-[ ] Update version in js-waku repo. [update only this](https://github.com/waku-org/js-waku/blob/7c0ce7b2eca31cab837da0251e1e4255151be2f7/.github/workflows/ci.yml#L135) by submitting a PR.
Copy file name to clipboardExpand all lines: docs/contributors/release-process.md
+28-16Lines changed: 28 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,12 +16,22 @@ For more context, see https://trunkbaseddevelopment.com/branch-for-release/
16
16
17
17
> If the effort or risk is too high, consider postponing the submodules upgrade for the subsequent release or delaying the current release until the submodules updates are included in the release candidate.
18
18
19
+
### Release types
20
+
21
+
-**Full release**: follow the entire [Release process](#release-process--step-by-step).
22
+
23
+
-**Beta release**: skip just `6a` and `6c` steps from [Release process](#release-process--step-by-step).
24
+
25
+
- choose the appropriate release process based on the release type.
2. Update `CHANGELOG.md` and ensure it is up to date. Use the helper Make target to get PR based release-notes/changelog update.
@@ -33,8 +43,8 @@ For more context, see https://trunkbaseddevelopment.com/branch-for-release/
33
43
3. Create a release-candidate tag with the same name as release and `-rc.N` suffix a few days before the official release and push it
34
44
35
45
```
36
-
git tag -as v0.1.0-rc.0 -m "Initial release."
37
-
git push origin v0.1.0-rc.0
46
+
git tag -as v0.X.0-rc.0 -m "Initial release."
47
+
git push origin v0.X.0-rc.0
38
48
```
39
49
40
50
This will trigger a [workflow](../../.github/workflows/pre-release.yml) which will build RC artifacts and create and publish a GitHub release
@@ -50,26 +60,28 @@ For more context, see https://trunkbaseddevelopment.com/branch-for-release/
50
60
# Make changes, rebase and create new tag
51
61
# Squash to one commit and make a nice commit message
52
62
git rebase -i origin/master
53
-
git tag -as v0.1.0-rc.1 -m "Initial release."
54
-
git push origin v0.1.0-rc.1
63
+
git tag -as v0.X.0-rc.1 -m "Initial release."
64
+
git push origin v0.X.0-rc.1
55
65
```
56
66
67
+
Similarly use v0.X.0-rc.2, v0.X.0-rc.3 etc. for additional RC tags.
68
+
57
69
6. **Validation of release candidate**
58
70
59
-
- **Automated testing**
60
-
- Ensure js-waku tests are green against the release candidate
71
+
6a. **Automated testing**
72
+
- Ensure all the unit tests (specifically js-waku tests) are green against the release candidate.
61
73
- Ask Vac-QA and Vac-DST to run their available tests against the release candidate, share all release candidate with both team.
62
74
63
75
> We need additional report like [this](https://www.notion.so/DST-Reports-1228f96fb65c80729cd1d98a7496fe6f) specificly from DST team.
64
76
65
-
- **Waku fleet testing**
77
+
6b. **Waku fleet testing**
66
78
- Lock `waku.test` and `waku.sandbox` fleet to release candidate version
67
-
- Search _Kibana_ logs from the previous month (since last release was deployed), for possible crashes or errors in `waku.test` and `waku.sandbox`.
79
+
- Analyze kibana logs for possible crashes or errors in `waku.test` and `waku.sandbox`. ( 2-3 day for beta release and 6-7 day for full release)
68
80
- Most relevant logs are `(fleet: "waku.test" AND message: "SIGSEGV")` OR `(fleet: "waku.sandbox" AND message: "SIGSEGV")`
69
81
- Run release candidate with `waku-simulator`, ensure that nodes connected to each other
70
82
- Unlock `waku.test` to resume auto-deployment of latest `master` commit
71
83
72
-
- **Status fleet testing**
84
+
6c. **Status fleet testing**
73
85
- Deploy release candidate to `status.staging`
74
86
- Perform [sanity check](https://www.notion.so/How-to-test-Nwaku-on-Status-12c6e4b9bf06420ca868bd199129b425) and log results as comments in this issue.
75
87
- Connect 2 instances to `status.staging` fleet, one in relay mode, the other one in light client.
@@ -87,12 +99,12 @@ For more context, see https://trunkbaseddevelopment.com/branch-for-release/
87
99
We also need to merge the release branch back into master as a final step.
88
100
89
101
```
90
-
git checkout release/v0.1.0
91
-
git tag -as v0.1.0 -m "Initial release."
92
-
git push origin v0.1.0
102
+
git checkout release/v0.X.0
103
+
git tag -as v0.X.0 -m "final release." ( use v0.X.0-beta as the tag if you are creating a beta release)
104
+
git push origin v0.X.0
93
105
git switch master
94
106
git pull
95
-
git merge release/v0.1.0
107
+
git merge release/v0.X.0
96
108
```
97
109
8. Update `waku-rust-bindings`, `waku-simulator` and `nwaku-compose` to use the new release.
98
110
@@ -106,10 +118,10 @@ We also need to merge the release branch back into master as a final step.
106
118
2. Deploy the release image to [Dockerhub](https://hub.docker.com/r/wakuorg/nwaku) by triggering [the manual Jenkins deployment job](https://ci.infra.status.im/job/nim-waku/job/docker-manual/).
0 commit comments