name: CI on: push: branches: [master] pull_request: env: CARGO_TERM_COLOR: always # The example workspace config points the type-map build script at this file. MTP_TYPE_MAPS: example-type-maps.yaml jobs: fmt: name: rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt - run: cargo fmt --all --check clippy: name: clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: clippy - uses: Swatinem/rust-cache@v2 - run: cargo clippy --workspace --exclude mtp-wasm --all-targets --all-features -- -D warnings test: name: test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - run: cargo test --workspace --exclude mtp-wasm --all-features wasm: name: wasm build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: targets: wasm32-unknown-unknown - uses: Swatinem/rust-cache@v2 # The WebTransport bindings in web-sys are still gated behind this cfg. - run: cargo build -p mtp-wasm --target wasm32-unknown-unknown env: RUSTFLAGS: --cfg=web_sys_unstable_apis deny: name: cargo-deny runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: EmbarkStudios/cargo-deny-action@v2 with: command: check