Skip to content

Contracts V3

Contracts V3 #2261

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:
jobs:
check:
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
steps:
- uses: actions/checkout@v2
- 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
- name: cargo check
run: >
cargo check
--manifest-path parachain/Cargo.toml
--workspace
--features runtime-benchmarks
test:
needs: check
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 }}
- 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 everything except the beacon light client
- name: Tests for everything except the beacon light client
run: >
cargo test
--manifest-path parachain/Cargo.toml
--workspace
--features runtime-benchmarks
--exclude snowbridge-query-events
--exclude snowbridge-ethereum-beacon-client
# Run tests for beacon light client, excluding benchmark tests
- name: Tests for beacon light client excluding benchmark tests
run: >
cargo test
--manifest-path parachain/Cargo.toml
--package snowbridge-ethereum-beacon-client
# Run benchmark tests for beacon light client
- name: Benchmark tests for beacon light client
run: >
cargo test
--manifest-path parachain/Cargo.toml
--release
--features runtime-benchmarks
--package snowbridge-ethereum-beacon-client
coverage:
needs: check
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 }}
- name: setup rust toolchain
run: rustup show
- name: run coverage test
run: >
cargo install cargo-tarpaulin &&
cargo tarpaulin
--manifest-path parachain/Cargo.toml
--workspace
--engine llvm
--out Xml
--exclude substrate-call-index
--exclude snowbridge-query-events
- 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-bridgehub:
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 runtime
run: >
cargo check
--manifest-path cumulus/Cargo.toml
--release --verbose
--package bridge-hub-rococo-runtime