Skip to content

Commit 11a698f

Browse files
authored
Amend PRR (#2474)
* Amend PRR Signed-off-by: Xavier Lau <x@acg.box> * Typo --------- Signed-off-by: Xavier Lau <x@acg.box>
1 parent acbc273 commit 11a698f

File tree

1 file changed

+22
-28
lines changed

1 file changed

+22
-28
lines changed

applications/polkadot-runtime-releaser.md

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ Especially to the new teams, they might not have enough experience to handle it.
2323
- The rustc/OS version affects the compiled artifacts.
2424
- There are also some unclear things of the srtool.
2525
- E.G. https://substrate.stackexchange.com/questions/11686/getting-error-rust-nightly-not-installed-when-starting-an-srtool-container-to-bu​a
26-
- When to notify the community to upgrade the node?
27-
- Collator/Validator nodes should be upgraded first.
28-
- RPC suppliers should be upgraded later.
29-
- I saw some EVM RPCs require the runtime version to be equal to the node version.
3026
- How to host a wasm-override repository for the community?
3127
- Debug log WASM.
3228
- We always use `sp-api/disable-logging` in the release build, so no more detail logs in the general runtime.
@@ -45,30 +41,27 @@ For any Polkadot-SDK-based chain, they could use PRR to release their runtime. I
4541
For PRR's utilization, the chain team requires two repositories: one for their code and another for the release.
4642

4743
Take `foo-network` as an example.
48-
They should have two repositories, `foo-network/foo` and `foo-network/foo-release`.
44+
They should have two repositories, `foo-network/foo` and `foo-network/foo-runtime-overrides`.
4945

5046
`foo-network/foo` is the base Polkadot-SDK-based chain repository that everyone should have.
5147

52-
`foo-network/foo-release` is a new repository that PRR requires.
48+
`foo-network/foo-runtime-overrides` is a new repository that PRR requires.
5349
It will have 2 branches, `foo` and `bar` if they have 2 networks, `foo`(mainnet) and `bar`(canary network).
5450
It will host the override WASMs and the release under the corresponding network branch.
5551

56-
For collator/validator nodes, they should monitor the `foo-network/foo` repository release as usual.
57-
For RPC suppliers or service node, they should monitor the `foo-network/foo-release` repository release, it's a more stable version. It will only be published once the on-chain runtime upgrade get confirmed.
58-
5952
PRR will supply these components, which will all be hosted in one repository.
53+
- A specialized custom Docker image maintained by Hack-Ink for building Polkadot-SDK-based runtimes.
6054
- A GitHub Action to response the try-runtime. (Users can comment something like `/bot try-runtime <network>` under a release PR to trigger this action.)
6155
- A GitHub Action to build the release runtime.
6256
- A GitHub Action to notify release repository there is a new release that release repository can start preparing the override WASMs.
63-
- A GitHub Action and a tool to monitor the on-chain runtime version and compare it with the release runtime version to trigger the release on the release repository.
6457
- A tool to build and manage the override WASMs.
58+
- A tool to inspect the basic information from the WASM file.
6559

66-
| GitHub Action | Trigger | Output |
67-
| --------------: | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
68-
| try-runtime | Comment `/bot try-runtime <network>` under the PR. | Bot will comment the try-runtime result under the PR. |
69-
| Runtime release | Usually by tag, this can be configured by users. | Build and release the runtime files. |
70-
| WASM override | Runtime release action will notify this action. | Build and push the runtime files to the repository. |
71-
| Node release | It's a scheduled action that runs every hour by default. | Retrieve the on-chain runtime version and compare it with the latest GitHub tag to determine if a release is necessary. |
60+
| GitHub Action | Trigger | Output |
61+
| --------------: | -------------------------------------------------- | ----------------------------------------------------- |
62+
| try-runtime | Comment `/bot try-runtime <network>` under the PR. | Bot will comment the try-runtime result under the PR. |
63+
| Runtime release | Usually by tag, this can be configured by users. | Build and release the runtime files. |
64+
| WASM override | Runtime release action will notify this action. | Build and push the runtime files to the repository. |
7265

7366
Each component will have a very detailed guide to help the chain team to set up.
7467

@@ -127,18 +120,19 @@ If they contain no activity, references to projects hosted elsewhere or live are
127120
- **FTE:** 1
128121
- **Costs:** 22,500 USD
129122

130-
| Number | Deliverable | Specification |
131-
| -----: | ----------------------------- | --------------------------------------------------------------------------------------------------------------------- |
132-
| 0a. | License | GPLv3 |
133-
| 0b. | Documentation | There will be a guide to tell people how to use this and inline docs will cover core functionalities. |
134-
| 0c. | Testing guide | There will be a guide and a demo repository to tell the auditor how to run the tests. All components will be covered. |
135-
| 1. | Try-runtime CI | Comment on a release PR and see the try-runtime result. |
136-
| 2. | Release CI | Build and release the deterministic runtime and the node files. |
137-
| 3. | WASM override tool | It can build the specify feature WASM in one step and manage them well in the corresponding folder. |
138-
| 4. | WASM override CI | Listen for build requests from the release CI. |
139-
| 5. | Version compare tool | It can retrieve the on-chain runtime version and compare it with the latest GitHub tag. |
140-
| 6. | Release repository release CI | Based on the version comparison tool result, proceed to release the new version in this repository. |
141-
| 7. | Releases | GitHub release. |
123+
| Number | Deliverable | Specification |
124+
| -----: | ---------------------- | --------------------------------------------------------------------------------------------------------------------- |
125+
| 0a. | License | GPLv3 |
126+
| 0b. | Documentation | There will be a guide to tell people how to use this and inline docs will cover core functionalities. |
127+
| 0c. | Testing guide | There will be a guide and a demo repository to tell the auditor how to run the tests. All components will be covered. |
128+
| 1. | Docker image | A well-maintained, long-term version Docker image for Polkadot-SDK-based runtime managed by Hack-Ink. |
129+
| 2. | Try-Runtime CI | Comment on a release PR and see the try-runtime result. |
130+
| 3. | Release CI | Build and release the deterministic runtime. |
131+
| 4. | WASM override tool | It can build the specify feature WASM in one step and manage them well in the corresponding folder. |
132+
| 5. | WASM override CI | Listen for build requests from the release CI. |
133+
| 6. | WASM info inspect tool | Use it to inspect the WASM basic information and integrate the result into the release note. |
134+
| 7. | Releases | Publish on GitHub release and crates.io release. |
135+
| 8. | Workshop | There will be a workshop repository for teams to learn how to setup the release pipeline step by step. |
142136

143137
## Future Plans
144138

0 commit comments

Comments
 (0)