This repository contains a production-ready polkadot-sdk-based runtime release setup.
Why do we need to override the runtime?
Always keep the on-chain runtime as minimal as possible which can help reduce the runtime size and improve the performance. Override with the
force-debug
runtime, you can get more debug information in the runtime log. Override with theevm-tracing
runtime, you can enable the EVM tracing feature in the runtime.
- Create a runtime-overrides repository for your runtime.
- Copy and configure the overrides action to your runtime-overrides repository. With this action, you can maintain the runtime overrides in the runtime-overrides repository automatically and easily without need to build it every time when you need it and can provide this repository for other developers/users.
- The action file has pretty detailed comments, you can follow the comments to configure the action. Please feel free to open an issue in this repository if you find any issues or have any questions.
- Create the runtime branches in the runtime-overrides repository, otherwise the action will fail since it can not push the commit to the corresponding branch. The name should be the same as runtime crate time, for example,
polkadot-runtime
,staging-kusama-runtime
.
- Copy and configure the try-runtime action to your runtime repository.
- The action file has pretty detailed comments, you can follow the comments to configure the action. Please feel free to open an issue in this repository if you find any issues or have any questions.
- Open a PR to the runtime repository.
- Comment
/bot try-runtime
in the PR, the action will run and comment the result in the PR.
- Copy and configure the release action to your runtime repository.
- The action file has pretty detailed comments, you can follow the comments to configure the action. Please feel free to open an issue in this repository if you find any issues or have any questions.
- Add and push a tag to the runtime repository, the action will run and release the runtime in runtime repository and trigger the override for runtime-overrides repository.