Skip to content

Commit 9c78a76

Browse files
authored
update release flow (#246)
1 parent d92ab1c commit 9c78a76

File tree

2 files changed

+46
-23
lines changed

2 files changed

+46
-23
lines changed

README.md

+5
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,13 @@
2020

2121
Here are the software versions we use:
2222

23+
- IoTeX Mainnet: v1.9.2
24+
- IoTeX Testnet: v1.9.2
25+
26+
<!--
2327
- MainNet: v1.9.2
2428
- TestNet: v1.9.2
29+
-->
2530

2631
## <a name="mainnet"/>Join MainNet
2732
This is the recommended way to start an IoTeX node

release_flow.md

+41-23
Original file line numberDiff line numberDiff line change
@@ -9,38 +9,56 @@ git tag v1.2.1_rc1
99
git push origin v1.2.1_rc1
1010
```
1111

12-
2. Roll out the release candidate to testnet. There are 2 clusters to upgrade:
13-
[testnet-gcp](https://github.com/iotexproject/iotex-cluster/blob/master/scripts/testnet-gce.sh)
14-
[testnet-gcp-2](https://github.com/iotexproject/iotex-cluster/blob/master/scripts/testnet-gce-2.sh)
12+
2. Roll out the release candidate to testnet. There are 4 clusters to upgrade:
13+
- testnet-gcp (cluster name: "gke_iotex-servers_us-west1-a_iotex-testnet-gcp")
14+
- testnet-gcp-2 (cluster name: "gke_iotex-servers_asia-east1-a_iotex-testnet-gcp-2")
15+
- testnet-london (arn:aws:eks:eu-west-2:363205959602:cluster/testnet-london)
16+
- testnet-sg (arn:aws:eks:ap-southeast-1:363205959602:cluster/testnet-sg)
1517

16-
> Note: do NOT directly run these 2 scripts. Run `helm upgrade --dryrun --debug
17-
> xxx > helm.log` first to dump the configuration about to deploy. Verify the
18-
> config in `helm.log` to make sure it is the correct/intended config.
18+
3. If a release contains a hard-fork, make a release in iotex-analyser repo,
19+
like [this](https://github.com/iotexproject/iotex-analyser/releases/tag/v1.8.0-rc1), and upgrade the
20+
testnet iotex-analyser backend
1921

20-
3. Test the release candidate, observe all chain metrics. If a bug is found or
22+
4. Test the release candidate, observe all chain metrics. If a bug is found or
2123
perf improvement is needed, check-in fix to iotex-core, go back to step 1.
2224

23-
4. Once testing is stablized, revise the tag by removing `rc*`, e.g., v1.2.1_rc5
24-
becomes v1.2.1, and cut the official release.
25-
```
26-
git tag v1.2.1
27-
git push origin v1.2.1
28-
```
25+
5. Repeat the above testing cycle until all bugs/issues are solved, and the release candidate code is
26+
running stable
2927

3028
## Prepare release note and instruction
3129
The following are prep work in [bootstrap](https://github.com/iotexproject/iotex-bootstrap) repo
3230
1. Add a release note, like [this](https://github.com/iotexproject/iotex-bootstrap/blob/master/changelog/v1.2-release-note.md)
31+
3332
2. Make necessary change to config and genesis if needed, like [this](https://github.com/iotexproject/iotex-bootstrap/commit/e06bc1f846a6eb1cec4b852c46c411c954d51e79)
34-
3. Update the version in README.md to the new release, and add an instruction
35-
if necessary, like [this](https://github.com/iotexproject/iotex-bootstrap/commit/bb52592f501e45b2f52bc084622f355414793df1)
36-
4. Make a release of the bootstrap repo same as the **new release version**,
37-
like [this](https://github.com/iotexproject/iotex-bootstrap/releases/tag/v1.2.0)
38-
39-
## Make iotex-core release
40-
1. Make the release on iotex-core repo, like [this](https://github.com/iotexproject/iotex-core/releases/tag/v1.2.0)
41-
2. Rollout the release to mainnet. There are also 2 clusters to upgrade:
42-
[mainnet-gcp](https://github.com/iotexproject/iotex-cluster/blob/master/scripts/prod-gce.sh)
43-
[mainnet-gcp-delegates](https://github.com/iotexproject/iotex-cluster/blob/master/scripts/prod-delegates.sh)
33+
34+
3. Update the version in README.md to the new release, and add an instruction if necessary,
35+
like [this](https://github.com/iotexproject/iotex-bootstrap/commit/bb52592f501e45b2f52bc084622f355414793df1)
36+
37+
4. File a PR to include all these changes, get approvals (but **do not merge yet**)
38+
39+
## Make the final release
40+
1. Tag the final release candidate code by the new release version, e.g., v1.2.1, and push to iotex-core
41+
```
42+
git tag v1.2.1
43+
git push origin v1.2.1
44+
```
45+
this will automatically trigger a build of the image (for the new release tag) on dockerhub,
46+
wait about 20 minutes for the new image to be successfully built and ready
47+
48+
2. Merge the approved PR in bootstrap repo, and make a release same as the **new release version**,
49+
like [this](https://github.com/iotexproject/iotex-bootstrap/releases/tag/v1.2.1)
50+
51+
3. Make a release in iotex-core repo same as the **new release version**,
52+
like [this](https://github.com/iotexproject/iotex-core/releases/tag/v1.2.1)
53+
54+
4. Make a release in iotex-analyser repo same as the **new release version**,
55+
like [this](https://github.com/iotexproject/iotex-analyser/releases/tag/v1.4.1), and upgrade
56+
the mainnet iotex-analyser backend
57+
58+
5. Rollout the release to mainnet. There are 3 clusters to upgrade:
59+
- mainnet-gcp (cluster name: "gke_iotex-servers_us-east1-b_iotex-prod-gcp")
60+
- mainnet-gcp-2 (cluster name: "gke_iotex-servers_us-central1_iotex-prod-gcp-2")
61+
- mainnet-gcp-delegates (cluster name: "gke_iotex-servers_us-west1-a_iotex-prod-delegates")
4462

4563
## Rollout
4664
1. Notify the community. Marketing team to announce in Twitter/TG/Discord/wechat/email

0 commit comments

Comments
 (0)