name: CI
on:
pull_request:
push:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
env:
RUSTUP_TOOLCHAIN: 1.97.1
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: make test-release-flow
- uses: dtolnay/rust-toolchain@1.97.1
with:
components: clippy, rustfmt
targets: wasm32-unknown-unknown
- run: cargo fmt --check
- run: cargo clippy --all-targets -- -D warnings
- run: cargo test --test runtime_macros -- --test-threads=1
- run: cargo test -- --test-threads=1
- run: cargo test --doc
- run: cargo check --target wasm32-unknown-unknown --tests
- name: Enforce core and diagnostics raw Wasm sizes
run: |
cargo build --profile wasm-size --target wasm32-unknown-unknown \
--example wasm-core-size-probe \
--example wasm-diagnostics-size-probe
core_wasm=target/wasm32-unknown-unknown/wasm-size/examples/wasm_core_size_probe.wasm
core_bytes=$(wc -c < "$core_wasm")
core_budget=245000
echo "Core raw Wasm: $core_bytes bytes (budget: $core_budget bytes)"
test "$core_bytes" -le "$core_budget"
diagnostics_wasm=target/wasm32-unknown-unknown/wasm-size/examples/wasm_diagnostics_size_probe.wasm
diagnostics_bytes=$(wc -c < "$diagnostics_wasm")
diagnostics_budget=290000
echo "Diagnostics raw Wasm: $diagnostics_bytes bytes (budget: $diagnostics_budget bytes)"
test "$diagnostics_bytes" -le "$diagnostics_budget"
- run: cargo package
msrv:
runs-on: ubuntu-latest
env:
RUSTUP_TOOLCHAIN: 1.88.0
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.88.0
- run: cargo check --all-targets