|
1 |
| -## Releases |
| 1 | +# Releases |
2 | 2 |
|
3 |
| -Releases are automated by [this workflow](.github/workflows/030_create_release.yaml). When a release should be created following things need to be done: |
| 3 | +Releases are automated by [this workflow](.github/workflows/030_create_release.yaml). |
| 4 | +When a release should be created following things need to be done: |
4 | 5 |
|
5 |
| -* substrate-node |
6 |
| - * Increment spec version in the runtime [lib.rs](../../substrate-node/runtime/src/lib.rs) |
7 |
| - * Increment version in [Cargo.toml](../../substrate-node/Cargo.toml) |
8 |
| - * Increment chart `version` filed in [Chart.yaml](../../substrate-node/charts/substrate-node/Chart.yaml) |
9 |
| - * Increment chart `appVersion` filed in [Chart.yaml](../../substrate-node/charts/substrate-node/Chart.yaml) |
| 6 | +## Version bump |
10 | 7 |
|
11 |
| -* tfchainbridge |
12 |
| - * Increment chart `version` filed in [Chart.yaml](../../bridge/tfchain_bridge/chart/tfchainbridge/Chart.yaml) |
13 |
| - * Increment chart `appVersion` filed in [Chart.yaml](../../bridge/tfchain_bridge/chart/tfchainbridge/Chart.yaml) |
| 8 | +This step can be done using Makefile or manually. |
14 | 9 |
|
15 |
| -* activation-service |
16 |
| - * Increment chart `version` filed in [Chart.yaml](../../activation-service/helm/tfchainactivationservice/Chart.yaml) |
17 |
| - * Increment chart `appVersion` filed in [Chart.yaml](../../activation-service/helm/tfchainactivationservice/Chart.yaml) |
18 |
| - * Increment package `version` in [package.json](../../activation-service/package.json) |
| 10 | +### Makefile |
19 | 11 |
|
20 |
| -* Js TFChain Client |
21 |
| - * Increment package `version` in [package.json](../../clients/tfchain-client-js/package.json) |
| 12 | +see makefile [here](../../Makefile) |
22 | 13 |
|
23 |
| -* Scripts |
24 |
| - * Increment package `version` in [package.json](../../scripts/package.json) |
| 14 | +#### Usage |
25 | 15 |
|
26 |
| -* Tools/fork-off-substrate |
27 |
| - * Increment package `version` in [package.json](../../tools/fork-off-substrate/package.json) |
| 16 | +```bash |
| 17 | +type=patch make version-bump # incrment the patch version |
| 18 | +type=minor make version-bump # incrment the minor version |
| 19 | +type=major make version-bump # incrment the major version |
| 20 | +``` |
28 | 21 |
|
29 |
| -* Commit the changes |
| 22 | +This function will take care also of branch and commit creation. |
| 23 | +Review the changes and push them, then follow the steps 3 and 4 below to finish the release. |
30 | 24 |
|
31 |
| -* Create a new tag with the version number prefixed with a `v` (e.g. `v1.0.0`, `v1.0.0-rc1` for release candidates) |
| 25 | +Important: This function will also incrment the spec version in the runtime. |
| 26 | +If you already did this in another commit you need to undo spec_version changes to avoid double incrment. |
32 | 27 |
|
33 |
| -* Push the tag to the repository |
| 28 | +### Manually |
34 | 29 |
|
35 |
| -* The workflow will create a release draft with the changelog and the binaries attached |
| 30 | +1 - Create a new branch for the release, increment the version for all components in the monorepo. |
| 31 | +Here is a list of the files that need to be changed to make the release: |
36 | 32 |
|
37 |
| -A changelog will be generated based on the Pull requests merged, so having PRs with meaningful titles is important. |
| 33 | +* substrate-node |
| 34 | + * Increment spec version in the runtime [lib.rs](../../substrate-node/runtime/src/lib.rs) |
| 35 | + * Increment version in [Cargo.toml](../../substrate-node/Cargo.toml) |
| 36 | + * Increment chart `version` filed in [Chart.yaml](../../substrate-node/charts/substrate-node/Chart.yaml) |
| 37 | + * Increment chart `appVersion` filed in [Chart.yaml](../../substrate-node/charts/substrate-node/Chart.yaml) |
| 38 | + |
| 39 | +* tfchainbridge |
| 40 | + * Increment chart `version` filed in [Chart.yaml](../../bridge/tfchain_bridge/chart/tfchainbridge/Chart.yaml) |
| 41 | + * Increment chart `appVersion` filed in [Chart.yaml](../../bridge/tfchain_bridge/chart/tfchainbridge/Chart.yaml) |
| 42 | + |
| 43 | +* activation-service |
| 44 | + * Increment chart `version` filed in [Chart.yaml](../../activation-service/helm/tfchainactivationservice/Chart.yaml) |
| 45 | + * Increment chart `appVersion` filed in [Chart.yaml](../../activation-service/helm/tfchainactivationservice/Chart.yaml) |
| 46 | + * Increment package `version` in [package.json](../../activation-service/package.json) |
| 47 | + |
| 48 | +* Js TFChain Client |
| 49 | + * Increment package `version` in [package.json](../../clients/tfchain-client-js/package.json) |
| 50 | + |
| 51 | +* Scripts |
| 52 | + * Increment package `version` in [package.json](../../scripts/package.json) |
| 53 | + |
| 54 | +* Tools/fork-off-substrate |
| 55 | + * Increment package `version` in [package.json](../../tools/fork-off-substrate/package.json) |
| 56 | + |
| 57 | +2 - Commit the changes |
| 58 | + |
| 59 | +3 - Create a new tag with the version number prefixed with a `v` (e.g. `v1.0.0`) |
| 60 | + |
| 61 | +4 - Push the tag to the repository |
| 62 | + |
| 63 | +The workflow will create a release draft with the changelog and the binaries attached |
| 64 | + |
| 65 | +The generated changelog will be based on the merged Pull requests, so having PRs with meaningful titles is important. |
38 | 66 |
|
39 | 67 | ## Validate a runtime
|
40 | 68 |
|
41 | 69 | See [validate](../misc/validating_runtime.md) for instructions on how to validate a runtime.
|
42 | 70 |
|
43 |
| -### Upgrade runtime |
| 71 | +## Upgrade runtime |
44 | 72 |
|
45 |
| -To upgrade the runtime for a network based on a release, download the runtime attached to the release (tfchain\_runtime.compact.compressed.wasm) |
46 |
| -and upload it to the network using a council proposal. The proposal should be a `set_code` proposal with the runtime as the code and majority of the council should vote in favor of the proposal. |
| 73 | +To upgrade the runtime for a network based on a release, download the runtime attached to the release (tfchain\_runtime.compact.compressed.wasm) and upload it to the network using a council proposal. |
| 74 | +The proposal should be a `set_code` proposal with the runtime as the code and majority of the council should vote in favor of the proposal. |
0 commit comments