on: push: branches: - master pull_request: branches: - master name: CI jobs: deny: name: Cargo deny strategy: matrix: os: - ubuntu-latest runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: EmbarkStudios/cargo-deny-action@v2 timeout-minutes: 10 build_and_test: name: OS Test strategy: fail-fast: false matrix: rust-version: - nightly - stable - "1.63" os: - ubuntu-latest - windows-latest - macos-latest runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust-version }} - name: Build run: cargo build - name: Test run: cargo test wasip1: name: WASI P1 Test Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@nightly with: targets: wasm32-wasip1 - name: Build run: cargo build --target wasm32-wasip1 --features nightly wasip2: name: WASI P2 Test Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@nightly with: targets: wasm32-wasip2 - name: Build run: cargo build --target wasm32-wasip2 --features nightly wasm: name: WASM Test Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: targets: wasm32-unknown-unknown - name: Build run: cargo build --target wasm32-unknown-unknown lint: name: Clippy and fmt runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: components: clippy, rustfmt - name: Check formatting run: cargo fmt --check - name: Check for clippy lints run: cargo clippy