name: CI on: push: branches: - "**" pull_request: jobs: rust-checks: name: ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - ubuntu-latest - macos-latest steps: - name: Checkout uses: actions/checkout@v6.0.3 - name: Setup Rust uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - name: Cache dependencies uses: Swatinem/rust-cache@v2 - name: Check formatting run: cargo fmt --all -- --check - name: Lint run: cargo clippy --workspace --all-targets -- -D warnings - name: Test run: cargo test --workspace --all-targets feature-check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - name: Install cargo-hack uses: taiki-e/install-action@7a79fe8c3a13344501c80d99cae481c1c9085912 # v2.81.10 with: tool: cargo-hack - name: Check run: | cargo hack check --each-feature --all-targets