diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 7017e8e..30d5483 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -18,14 +18,24 @@ permissions: jobs: check: - name: Build & test + name: Check strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-14, windows-latest] # Keep low end in sync with Cargo.toml rust-toolchain: [1.76.0, stable, nightly] - type: [debug, release] + type: [debug] + include: + - os: ubuntu-latest + rust-toolchain: stable + type: release + - os: macos-14 + rust-toolchain: stable + type: release + - os: windows-latest + rust-toolchain: stable + type: release env: BUILD_TYPE: ${{ matrix.type == 'release' && '--release' || '' }} runs-on: ${{ matrix.os }} @@ -37,8 +47,16 @@ jobs: - name: Checkout uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - name: Get "Install Rust" action from neqo + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + repository: mozilla/neqo + sparse-checkout: | + .github/actions/rust + path: neqo + - name: Install Rust - uses: mozilla/neqo/.github/actions/rust + uses: ./neqo/.github/actions/rust with: version: ${{ matrix.rust-toolchain }} components: rustfmt, clippy, llvm-tools-preview @@ -54,7 +72,7 @@ jobs: run: | # shellcheck disable=SC2086 RUST_LOG=trace cargo +${{ matrix.rust-toolchain }} llvm-cov nextest $BUILD_TYPE --no-fail-fast --lcov --output-path lcov.info - cargo +${{ matrix.rust-toolchain }} bench --features bench --no-run + cargo +${{ matrix.rust-toolchain }} bench --no-run - name: Check formatting run: | @@ -72,7 +90,7 @@ jobs: - name: Clippy run: | - cargo +${{ matrix.rust-toolchain }} hack clippy --all-targets --feature-powerset --exclude-features gecko -- -D warnings || ${{ matrix.rust-toolchain == 'nightly' }} + cargo +${{ matrix.rust-toolchain }} hack clippy --all-targets --feature-powerset -- -D warnings || ${{ matrix.rust-toolchain == 'nightly' }} if: success() || failure() - name: Check rustdoc links