The try-runtime feature allows to define "dry run" migrations that don't actually modify state, but can test pre- and post-runtime upgrade state for sanity, e.g.
Check that the validators() set is the same before as after the upgrade
Check that no account lost balance due to the upgrade
Check that no account was deleted/reaped due to the upgrade
These can be built as a compact "upgrade checker struct" and run as part of QA of every (runtime-upgrade) release, which can happen as part of a CI check when https://github.com/Manta-Network/Manta/pull/457 is merged
The
try-runtime
feature allows to define "dry run" migrations that don't actually modify state, but can test pre- and post-runtime upgrade state for sanity, e.g.These can be built as a compact "upgrade checker struct" and run as part of QA of every (runtime-upgrade) release, which can happen as part of a CI check when https://github.com/Manta-Network/Manta/pull/457 is merged
The process is described in https://www.crowdcast.io/e/substrate-seminar/41 around 1:15:00