cargo-clippy: stage: check extends: - .docker-env - .common-refs - .pipeline-stopper-artifacts script: - SKIP_WASM_BUILD=1 env -u RUSTFLAGS cargo clippy --all-targets --locked --workspace check-try-runtime: stage: check extends: - .docker-env - .common-refs script: - time cargo check --locked --all --features try-runtime # this is taken from cumulus # Check that parachain-template will compile with `try-runtime` feature flag. - time cargo check --locked -p parachain-template-node --features try-runtime # add after https://github.com/paritytech/substrate/pull/14502 is merged # experimental code may rely on try-runtime and vice-versa - time cargo check --locked --features try-runtime,experimental cargo-fmt-manifest: stage: check extends: - .docker-env - .common-refs script: - cargo install zepter --locked --version 0.11.0 -q -f --no-default-features && zepter --version - echo "👉 Hello developer! If you see this CI check failing then it means that one of the your changes in a Cargo.toml file introduced ill-formatted or unsorted features. Please take a look at 'docs/STYLE_GUIDE.md#manifest-formatting' to find out more." - zepter format features --check allow_failure: true # Experimental # FIXME .cargo-deny-licenses: stage: check extends: - .docker-env - .test-pr-refs variables: CARGO_DENY_CMD: "cargo deny --all-features check licenses -c ./substrate/scripts/ci/deny.toml" script: - $CARGO_DENY_CMD --hide-inclusion-graph after_script: - echo "___The complete log is in the artifacts___" - $CARGO_DENY_CMD 2> deny.log - if [ $CI_JOB_STATUS != 'success' ]; then echo 'Please check license of your crate or add an exception to scripts/ci/deny.toml'; fi allow_failure: true artifacts: name: $CI_COMMIT_SHORT_SHA expire_in: 3 days when: always paths: - deny.log # from substrate # not sure if it's needed in monorepo check-dependency-rules: stage: check extends: - .kubernetes-env - .test-refs-no-trigger-prs-only variables: CI_IMAGE: "paritytech/tools:latest" allow_failure: true script: - cd substrate/ - ../.gitlab/ensure-deps.sh test-rust-features: stage: check extends: - .kubernetes-env - .test-refs-no-trigger-prs-only script: - git clone --depth=1 --branch="master" https://github.com/paritytech/pipeline-scripts - bash ./pipeline-scripts/rust-features.sh . job-starter: stage: check image: paritytech/tools:latest extends: - .kubernetes-env - .common-refs allow_failure: true script: - echo ok test-rust-feature-propagation: stage: check extends: - .kubernetes-env - .test-pr-refs script: - cargo install --locked --version 0.11.1 -q -f zepter && zepter --version - echo "👉 Hello developer! If you see this CI check failing then it means that one of the crates is missing a feature for one of its dependencies. The output below tells you which feature needs to be added for which dependency to which crate. You can do this by modifying the Cargo.toml file. For more context see the MR where this check was introduced https://github.com/paritytech/substrate/pull/14660" - zepter lint propagate-feature --feature try-runtime --left-side-feature-missing=ignore --workspace --feature-enables-dep="try-runtime:frame-try-runtime" --locked - zepter lint propagate-feature --feature runtime-benchmarks --left-side-feature-missing=ignore --workspace --feature-enables-dep="runtime-benchmarks:frame-benchmarking" --locked - zepter lint propagate-feature --feature std --left-side-feature-missing=ignore --workspace --locked # More info can be found here: https://github.com/paritytech/polkadot/pull/5865 .check-runtime-migration: stage: check extends: - .docker-env - .test-pr-refs script: - | export RUST_LOG=remote-ext=debug,runtime=debug echo "---------- Running try-runtime for ${NETWORK} ----------" time cargo install --locked --git https://github.com/paritytech/try-runtime-cli --rev a93c9b5abe5d31a4cf1936204f7e5c489184b521 time cargo build --release --locked -p "$NETWORK"-runtime --features try-runtime time try-runtime \ --runtime ./target/release/wbuild/"$NETWORK"-runtime/target/wasm32-unknown-unknown/release/"$NETWORK"_runtime.wasm \ on-runtime-upgrade --checks=pre-and-post live --uri wss://${NETWORK}-try-runtime-node.parity-chains.parity.io:443 check-runtime-migration-westend: stage: check extends: - .docker-env - .test-pr-refs - .check-runtime-migration variables: NETWORK: "westend" check-runtime-migration-rococo: stage: check # DAG needs: - job: check-runtime-migration-westend artifacts: false extends: - .docker-env - .test-pr-refs - .check-runtime-migration variables: NETWORK: "rococo" find-fail-ci-phrase: stage: check variables: CI_IMAGE: "paritytech/tools:latest" ASSERT_REGEX: "FAIL-CI" GIT_DEPTH: 1 extends: - .kubernetes-env - .test-pr-refs script: - set +e - rg --line-number --hidden --type rust --glob '!{.git,target}' "$ASSERT_REGEX" .; exit_status=$? - if [ $exit_status -eq 0 ]; then echo "$ASSERT_REGEX was found, exiting with 1"; exit 1; else echo "No $ASSERT_REGEX was found, exiting with 0"; exit 0; fi