Skip to content

SBP M1 Review

SBP M1 Review #229

Workflow file for this run

name: Rust
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-C link-args=-Wl,--allow-multiple-definition"
FOUNDRY_PROFILE: ci
jobs:
check-rust:
name: Check Workspace
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GH_TOKEN }}
submodules: recursive
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly
- uses: Swatinem/rust-cache@v1
- run: rustup target add wasm32-unknown-unknown --toolchain nightly
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
version: '3.x'
repo-token: ${{ secrets.GH_TOKEN }}
- uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_KEY }}
- name: check workspace
run: |
cargo +nightly check --all --benches --locked
cargo +nightly check -p ismp --no-default-features --target=wasm32-unknown-unknown --locked
cargo +nightly check -p pallet-ismp --no-default-features --target=wasm32-unknown-unknown --locked
cargo +nightly check -p ismp-demo --no-default-features --target=wasm32-unknown-unknown --locked
cargo +nightly check -p ethereum-trie --no-default-features --target=wasm32-unknown-unknown --locked
cargo +nightly check -p ismp-sync-committee --no-default-features --target=wasm32-unknown-unknown --locked
check-runtime-wasm:
name: Check Runtime Wasm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GH_TOKEN }}
submodules: recursive
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly
- uses: Swatinem/rust-cache@v1
- run: rustup target add wasm32-unknown-unknown
- uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_KEY }}
- name: check runtime no-std
run: cargo +nightly check -p hyperbridge-runtime --no-default-features --target=wasm32-unknown-unknown --locked
fmt:
name: Cargo fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Cargo fmt
run: cargo +nightly fmt --all --check
test:
name: Test Suite
runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/main'
env:
TUID: 123
steps:
- name: set UID env
run: |
echo $UID
echo "TUID=$UID" >> $GITHUB_ENV
- name: Checkout sources
uses: actions/checkout@v2
with:
token: ${{ secrets.GH_TOKEN }}
submodules: recursive
- name: Install rust stable toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
- name: Install protoc
run: |
sudo apt update
sudo apt install protobuf-compiler
- uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_KEY }}
- name: Run unit tests
run: |
cargo +nightly test -p pallet-ismp --all-targets --all-features --locked
cargo +nightly test -p ismp-testsuite --all-targets --all-features --locked
cargo +nightly test -p ethereum-trie --all-features --locked
# cd evm/forge && cargo test
- name: Clone eth-pos-devnet repository
run: |
git clone https://github.com/polytope-labs/eth-pos-devnet.git
cd eth-pos-devnet
./clean.sh
docker compose up -d
../scripts/wait_for_tcp_port_opening.sh localhost 3500
../scripts/wait_for_tcp_port_opening.sh localhost 8545
- name: Run all tests
run: |
cargo +nightly test -p sync-committee-prover -- --nocapture
check-solidity:
strategy:
fail-fast: true
name: Foundry project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Run Forge build
run: |
forge --version
forge build --sizes
id: build
- name: Run Forge tests
run: |
forge test -vvv
id: test