Skip to content

Update sdk with run_to_block_with_finalize #3536

Update sdk with run_to_block_with_finalize

Update sdk with run_to_block_with_finalize #3536

Workflow file for this run

name: parachain
on:
push:
paths:
- "parachain/**"
- "!parachain/README.md"
- "!parachain/LICENSE"
branches:
- main
pull_request:
paths:
- "parachain/**"
- "!parachain/README.md"
- "!parachain/LICENSE"
workflow_dispatch:
env:
FUZZ_MAX_LEN: 10000000000
FUZZ_MAX_RUNS: 30000
RUST_NIGHTLY: "2023-05-23"
jobs:
check:
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
RUST_NIGHTLY_VERSION: nightly-2023-05-23
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('parachain/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- uses: actions/[email protected]
with:
node-version: "18.x"
registry-url: "https://npm.pkg.github.com"
scope: "@paritytech"
- name: setup rust toolchain
run: rustup show
- name: cargo check
working-directory: parachain
run: cargo check --workspace --all-features
- name: clippy
working-directory: parachain
run: cargo clippy --all-features -- -D warnings
- name: format
working-directory: parachain
run: |
rustup install --profile minimal $RUST_NIGHTLY_VERSION
rustup component add --toolchain $RUST_NIGHTLY_VERSION rustfmt
cargo +$RUST_NIGHTLY_VERSION fmt --check
- name: install taplo
run: |
cargo install taplo-cli --locked
- name: taplo snowbridge
working-directory: parachain
run: taplo format --check --config .config/taplo.toml
- name: taplo polkadot-sdk
working-directory: polkadot-sdk
run: taplo format --check --config .config/taplo.toml
- name: install zepter
run: |
cargo install zepter -f --locked
- name: zepter snowbridge
working-directory: parachain
run: zepter run check
- name: zepter polkadot-sdk
working-directory: polkadot-sdk
run: zepter run check
- name: lint-markdown
working-directory: parachain
run: |
npm install -g markdownlint-cli
markdownlint --version
markdownlint --config .config/.markdownlint.yaml --ignore target
test:
needs: check
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
RUST_MIN_STACK: 8388608
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('parachain/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: setup rust toolchain
run: rustup show
# Increase stack limit for beacon light client tests
- run: sudo prlimit --pid $$ --stack=32768
# Run tests for runtime-benchmarks feature
- name: Tests for runtime-benchmarks
working-directory: parachain
run: >
cargo test
--workspace
--features runtime-benchmarks
# Run tests for all features
- name: Tests for all features
working-directory: parachain
run: >
cargo test
--workspace
--all-features
coverage:
needs: check
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
RUST_MIN_STACK: 8388608
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: run coverage test
working-directory: parachain
run: >
cargo install [email protected] &&
cargo tarpaulin
--workspace
--engine llvm
--out xml
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
working-directory: parachain
files: cobertura.xml
flags: rust
check-cumulus:
runs-on: snowbridge-runner
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: check bridge-hub fast-runtime
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package bridge-hub-rococo-runtime
--features fast-runtime
- name: check bridge-hub runtime-benchmarks
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package bridge-hub-rococo-runtime
--features runtime-benchmarks
- name: check bridge-hub try-runtime
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package bridge-hub-rococo-runtime
--features try-runtime
- name: check bridge-hub all features
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package bridge-hub-rococo-runtime
--all-features
- name: check asset-hub all features
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package asset-hub-rococo-runtime
--all-features
runtime-tests:
needs: check
runs-on: snowbridge-runner
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: snowbridge runtime tests
working-directory: polkadot-sdk
run: >
RUST_LOG=xcm=trace cargo test
--package bridge-hub-rococo-runtime
--test snowbridge
-- --nocapture
integration-tests:
needs: check
runs-on: snowbridge-runner
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: bridge-hub and asset-hub integration tests
working-directory: polkadot-sdk
run: >
RUST_LOG=xcm=trace cargo test
-p bridge-hub-rococo-integration-tests
-p asset-hub-rococo-integration-tests
-- --nocapture
beacon-fuzz:
if: false
needs: test
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
submodules: "true"
- uses: actions/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('parachain/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: install nightly
run: rustup install --profile minimal nightly-$RUST_NIGHTLY
- name: Install cargo-fuzz from crates.io
uses: baptiste0928/cargo-install@v2
with:
crate: cargo-fuzz
version: "^0.11.2"
- name: Fuzz force checkpoint extrinsic
run: >
cd parachain/pallets/ethereum-beacon-client && cargo +nightly-$RUST_NIGHTLY fuzz run fuzz_force_checkpoint --
-max_len=$FUZZ_MAX_LEN -runs=$FUZZ_MAX_RUNS
- name: Fuzz submit extrinsic
run: >
cd parachain/pallets/ethereum-beacon-client && cargo +nightly-$RUST_NIGHTLY fuzz run fuzz_submit --
-max_len=$FUZZ_MAX_LEN -runs=$FUZZ_MAX_RUNS
- name: Fuzz submit execution header extrinsic
run: >
cd parachain/pallets/ethereum-beacon-client && cargo +nightly-$RUST_NIGHTLY fuzz run fuzz_submit_execution_header --
-max_len=$FUZZ_MAX_LEN -runs=$FUZZ_MAX_RUNS