From e8dfd5bbba72af6de08b02762ff481b3ad031477 Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Mon, 29 Jul 2024 14:32:54 +0300 Subject: [PATCH] ci: Don't install unneeded rust components by default (#2011) * ci: Don't install unneeded rust components by default Should speed up some CI checks. * components -> tools * Commas * Quote * Pipe * Optimize * Fix * Fix * rustup --- .github/actions/rust/action.yml | 12 +++++++----- .github/workflows/bench.yml | 2 +- .github/workflows/check.yml | 2 ++ .github/workflows/mutants.yml | 1 + 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/actions/rust/action.yml b/.github/actions/rust/action.yml index 7de55dbae4..20a747f977 100644 --- a/.github/actions/rust/action.yml +++ b/.github/actions/rust/action.yml @@ -8,26 +8,28 @@ inputs: components: description: 'Rust components to install' default: '' + tools: + description: 'Additional Rust tools to install' + default: '' runs: using: composite steps: - name: Install Rust - uses: dtolnay/rust-toolchain@bb45937a053e097f8591208d8e74c90db1873d07 # master + uses: dtolnay/rust-toolchain@21dc36fb71dd22e3317045c0c31a3f4249868b17 # master with: toolchain: ${{ inputs.version }} components: ${{ inputs.components }} - name: Install cargo-quickinstall shell: bash + if: inputs.tools != '' run: cargo +${{ inputs.version }} install cargo-quickinstall - name: Install Rust tools shell: bash - run: | - cargo +${{ inputs.version }} quickinstall --no-binstall \ - cargo-llvm-cov cargo-nextest flamegraph cargo-hack cargo-mutants hyperfine \ - cargo-machete cargo-fuzz + if: inputs.tools != '' + run: cargo +${{ inputs.version }} quickinstall --no-binstall $(echo ${{ inputs.tools }} | tr -d ",") # sccache slows CI down, so we leave it disabled. # Leaving the steps below commented out, so we can re-evaluate enabling it later. diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index c2e8559ef7..3066e9cc4c 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -44,7 +44,7 @@ jobs: uses: ./.github/actions/rust with: version: $TOOLCHAIN - components: rustfmt + tools: hyperfine - name: Fetch and build NSS and NSPR uses: ./.github/actions/nss diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 8fc1bd3370..54bf986262 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -57,6 +57,7 @@ jobs: if: runner.os == 'MacOS' run: | brew update + brew upgrade rustup brew install llvm nss echo "/opt/homebrew/opt/llvm/bin" >> "$GITHUB_PATH" echo "RUSTFLAGS=-C link-arg=-fuse-ld=lld" >> "$GITHUB_ENV" @@ -96,6 +97,7 @@ jobs: with: version: ${{ matrix.rust-toolchain }} components: rustfmt, clippy, llvm-tools-preview + tools: cargo-llvm-cov, cargo-nextest, cargo-hack, cargo-fuzz, cargo-machete - name: Fetch and build NSS and NSPR uses: ./.github/actions/nss diff --git a/.github/workflows/mutants.yml b/.github/workflows/mutants.yml index 38b2907fc4..190f4d26a9 100644 --- a/.github/workflows/mutants.yml +++ b/.github/workflows/mutants.yml @@ -36,6 +36,7 @@ jobs: uses: ./.github/actions/rust with: version: stable + tools: cargo-mutants - name: Find incremental mutants if: github.event_name == 'pull_request'