This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 382
Cumulus parachains-v9.0.0 Release runtime checklist #1189
Comments
Talked in the group and there seem to be no migrations this time around. |
There were no migrations for v800 so there's no old migrations to remove. |
chevdor
changed the title
Cumulus parachains-v9.0.0 Release checklist
Cumulus parachains-v9.0.0 Release runtime checklist
Apr 22, 2022
6 tasks
My findings about the Proxy Filters: A new extrinsic was added: When checking if I had to whitelist it I found out that many other dispatchables were never whitelisted: ASSETS pallet
UNIQUES pallet
I can not find a clear pattern to tell which ones should be included in the |
Tests results: Statemine
Statemint
|
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The release of binary / runtime being now split, this is the first checklist for the binary part of the release.
You may also want to have a look at the client checklist.
Runtime Release Checklist
These checks should be performed on the codebase.
spec_version
has been incremented since thelast release for any native runtimes from any existing use on public
(non-private/test) networks.
removed for any public (non-private/test) networks.
SignedExtension
s have stayedthe same. Bump
transaction_version
if not.proxy filters.
runtime logic.
The following checks can be performed after we have forked off to the release-
candidate branch or started an additional release candidate branch (rc-2, rc-3, etc)
runtime state is correctly updated for any public (non-private/test)
networks.
All Releases
https://github.com/paritytech/cumulus/releases with relevant release
notes.
draft-release.
Notes
Build Artifacts
Add any necessary assets to the release. They should include:
Release notes
The release notes should list:
based on the max priority of any client changes.
srtool
The release notes may also list:
regarding this release
Spec Version
A runtime upgrade must bump the spec number. This may follow a pattern with the
client release (e.g. runtime v12 corresponds to v0.8.12, even if the current
runtime is not v11).
Runtime version bump between RCs
The clients need to be aware of runtime changes. However, we do not want to bump the
spec_version
for every single release candidate. Instead, we can bump theimpl
field of the versionto signal the change to the client.
Old Migrations Removed
Previous
on_runtime_upgrade
functions from old upgrades should be removed.New Migrations
Ensure that any migrations that are required due to storage or logic changes
are included in the
on_runtime_upgrade
function of the appropriate pallets.Extrinsic Ordering & Storage
Offline signing libraries depend on a consistent ordering of call indices and
functions. Compare the metadata of the current and new runtimes and ensure that
the
module index, call index
tuples map to the same set of functions. It also checks if there have been any changes instorage
. In case of a breaking change, increasetransaction_version
.To verify the order has not changed, manually start the following Github Action. It takes around a minute to run and will produce the report as artifact you need to manually check.
To run it, in the Run Workflow dropdown:
master
as defaultwss://kusama-statemine-rpc.paritytech.net
wss://westmint-rpc.polkadot.io
statemine-local
westmint-local
When the workflow is done, click on it and download the zip artifact, inside you'll find an
output.txt
file. The things to look for in the output are lines like:[Identity] idx 28 -> 25 (calls 15)
- indicates the index for Identity has changed[+] Society, Recovery
- indicates the new version includes 2 additional modules/pallets.[Identity] idx 25 (calls 15)
Note: Adding new functions to the runtime does not constitute a breaking change
as long as the indexes did not change.
Note: Extrinsic function signatures changes (adding/removing & ordering arguments) are not caught by the job, so those changes should be reviewed "manually"
Proxy Filtering
The runtime contains proxy filters that map proxy types to allowable calls. If
the new runtime contains any new calls, verify that the proxy filters are up to
date to include them.
Benchmarks
Until #631 is done, running the benchmarks is a manual process:
htop check
cargo build --profile production --locked --features runtime-benchmarks
nohup ./scripts/benchmarks.sh &
(it will take quite a few hours)scp
from the host to your local machine the weights for Statemine, Westmint and Statemint you'll find in:/polkadot-parachains/statemine/src/weights
/polkadot-parachains/westmint/src/weights
/polkadot-parachains/statemint/src/weights
The text was updated successfully, but these errors were encountered: