Makes SPs first class citizens along with the relay chains in the
context of our CI runtime upgrade checks.
## Code changes
- Sets missing current storage version in `uniques` pallet
- Adds multisig V1 migration to run where it was missing
- Removes executed migration whos pre/post hooks were failing from
collectives runtime
- Initializes storage versions for SP pallets added after genesis
- Originally I was going to wait for
https://github.com/paritytech/polkadot-sdk/pull/1297 to be merged so
this wouldn't need to be done manually, but it doesn't seem like it'll
be merged any time soon so I've decided to set them manually to unblock
this
## CI changes
- Removed dependency of `westend` runtime upgrades being complete prior
to other ones running. I assume it is supposed to cache the
`try-runtime` build for a performance benefit, but it seems it wasn't
working. Maybe someone from the CI team can look into this or explain
why it needs to be there?
- Adds check-runtime-migration jobs for Parity asset-hubs, bridge-hubs
and contract chains
- Updated VARIABLES to accomodate the `kusama-runtime` package being
renamed to `staging-kusama-runtime` in
https://github.com/paritytech/polkadot-sdk/pull/1241
- Added `EXTRA_ARGS` variable to `check-runtime-migration`, and set
`--no-weight-warnings` to the relay chain runtime upgrade checks (relay
chains don't have weight restrictions).
This pull request is removing the Kusama and Polkadot runtime crates. As
still some crates dependent on the runtime crates, this pull request is
doing some more changes.
- It removes the `hostperfcheck` CLI command. This CLI command could
compare the current node against the standard hardware by doing some
checks. Later we added the hardware benchmark feature to Substrate. This
hardware benchmark is running on every node startup and prints a warning
if the current node is too slow. This makes this CLI command a duplicate
that was also depending on the kusama runtime.
- The pull request is removing the emulated integration tests that were
requiring the Kusama or Polkadot runtime crates.
[`RococoGenesisExt`](https://github.com/paritytech/polkadot-sdk/blob/a414ea7515c9cdc81f1d12410e646afc148250e8/polkadot/node/service/src/chain_spec.rs#L152-L171)
is removed. It was the hack to allow overwriting
`EpochDurationInBlocks`. Removal of `RococGenesisExt` prevents from
manipulating the state to change the runtime constants.
Changes:
- Environment variable which controls the `time::EpochDurationInBlocks`
value was added: `ROCOCO_EPOCH_DURATION` (epoch duration will be set to
the value of env),
- `10,100,600` versions of rococo-runtime are built in CI and put into `polkadot-debug` docker image.
`rococo-runtime` building examples:
- to build runtime for `versi_staging_testnet` which had
EpochDurationInBlocks set to 100:
```
ROCOCO_EPOCH_DURATION=100 cargo build --features=fast-runtime -p
rococo-runtime
```
- to build runtime for `wococo_development`
```
ROCOCO_EPOCH_DURATION=10 cargo build --features=fast-runtime -p
rococo-runtime
```
- to build `versi-staging` chain spec:
```
ROCOCO_EPOCH_DURATION=100 cargo run -p polkadot --features=fast-runtime
-- build-spec --chain versi-staging --raw
```
- to build `wococo-dev` chain spec:
```
ROCOCO_EPOCH_DURATION=10 cargo run -p polkadot --features=fast-runtime
-- build-spec --chain wococo-dev --raw
```
It is also possible to change the epoch duration by replacing the `code` field in the chain spec with the hex dump of pre-built runtime wasm blob (because the epoch duration is hard-coded into wasm blob).
---------
Co-authored-by: Bastian Köcher <git@kchr.de>
- Async-backing related primitives are stable `primitives::v6`
- Async-backing API is now part of `api_version(7)`
- It's enabled on Rococo and Westend runtimes
---------
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Add debug_assertions to WASM builds in the short-benchmarks CI job.
Disallow warnings, show a full backtrace and remove the WASM output
colour to improve information from this CI step in the event of a failure.
This is motivated by a
[case](https://github.com/paritytech/polkadot-sdk/pull/1676/commits/23d64918be3ca68413050383c5d8a73f63d451dd)
where a benchmark was misconfigured in master and failing to send
notifications, but passing CI. We don't want this to fail if the problem
happens in production, but ideally we'd know from the CI if it was
misconfigured and the messages weren't getting sent, as that could
(would?) affect the weights that the benchmark generates.
Enabling debug-assertions in WASM builds for the short-benchmarks would
catch "soft" failures like this in future.
- Updated ./docs/CONTRIBUTION.md to clarify how to use command bot and
update ui-tests locally or in PR
- Moved update-ui-tests.sh to a root of project to run them along for
substrate and polkadot together
---------
Co-authored-by: Mira Ressel <mira@parity.io>
This pull request removes the Polkadot and Kusama native runtime from
the polkadot node. This brings some implications with it:
There are no more kusama/polkadot-dev chain specs available. We will
need to write some tooling in the fellowship repo to provide them
easily.
The try-runtime job for polkadot & kusama is not available anymore as we
don't have the dev chain specs anymore.
Certain benchmarking commands will also not work until we migrate them
to use a runtime api.
Some crates in utils are still depending on the polkadot/kusama native
runtime that will also need to be fixed.
Port of: https://github.com/paritytech/polkadot/pull/7467
Add logic to check if the `BUILD_RELEASE_VERSION` tag is available in
docker registry, if not calculate the previous version to use as
secondary image. This fix the issue in test using the `secondary image`
and bumping the `NODE_VERSION`. (e.g #1495)
Changes:
- Disable runtime logging in benchmarks by building with a specific
profile
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
When `process_file` is run by `xargs`, it is executed inside a new shell
without access to variables defined outside of its scope.
This resulted in `script_content` being an empty string.
By exporting `script_content` prior to running `xargs` it is available
inside the new shells.
* [ci] Move additional tests back to test-linux-stable
* run slow tests with all tests
* check if test upgrade_version_checks_should_work works
* rm comment
* zombienet: use test-parachain image for the slashing test
* use the right image
* try polkadot-parachain image
* try naming collator alice 🙈
* add needed job for the pipeline
* fix user id in polkadot-parachain-debug image
* small tweaks to the test
* another small tweak
* yet another small tweak
* bump zombienet version
---------
Co-authored-by: Javier Viola <javier@parity.io>
* add ghw and scripts for docker image deployment
* debug
* add permissions for content
* fix path to the bin folder
* add tags
* rename env
* fix path to docker file
* make polkadot-parachain executable
* fix typo
* fix more typos
* test
* revert back use of working directory
* mke bin executable in the artifacts folder
* use cd instead of working directory
* change path to cash
* fix path to cash
* change cache key
* delete old flows
* addressed PR comments
* fix path
* reorg docker files
* Added short-benchmarks for cumulus
* Added `--bin` flag for short-benchmarks
* fix dependency for short-benchmark-cumulus
* Fixed benchmark with new XCM::V3 `MAX_INSTRUCTIONS_TO_DECODE`
* Fixed benchmark for bridge messages pallets
---------
Co-authored-by: alvicsam <alvicsam@gmail.com>
Co-authored-by: Javier Viola <javier@parity.io>
Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>