Skip to content

Commit 5484cd4

Browse files
committed
perf[ci]: cache correctly on runs-on in rustup rust
Signed-off-by: Joe Isaacs <[email protected]>
1 parent fec90ce commit 5484cd4

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

.github/actions/setup-rust/action.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ inputs:
1515
targets:
1616
description: "optional targets override (e.g. wasm32-unknown-unknown)"
1717
required: false
18+
skip-rust-cache:
19+
description: "Skip Swatinem/rust-cache (useful when S3 sccache is already configured)"
20+
required: false
21+
default: "false"
1822

1923
runs:
2024
using: "composite"
@@ -37,11 +41,15 @@ runs:
3741
targets: "${{inputs.targets || ''}}"
3842
components: "${{ inputs.components || 'clippy, rustfmt' }}"
3943

44+
# Skip rust-cache on runs-on runners that have S3 sccache configured.
45+
# The rust-cache was ~10GB and took 3+ minutes to extract, while sccache
46+
# S3 backend already provides efficient compile caching.
4047
- name: Rust Dependency Cache
48+
if: ${{ inputs.skip-rust-cache != 'true' }}
4149
uses: Swatinem/rust-cache@v2
4250
with:
4351
save-if: ${{ github.ref_name == 'develop' }}
44-
shared-key: "rust-cache-${{ runner.os }}-${{ runner.environment }}" # To allow reuse across jobs
52+
shared-key: "rust-cache-${{ runner.os }}-${{ runner.environment }}"
4553

4654
- name: Rust Compile Cache
4755
uses: mozilla-actions/[email protected]

.github/workflows/ci.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ jobs:
138138
- uses: ./.github/actions/setup-rust
139139
with:
140140
repo-token: ${{ secrets.GITHUB_TOKEN }}
141+
skip-rust-cache: true
141142
- name: Docs
142143
run: |
143144
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps
@@ -184,6 +185,7 @@ jobs:
184185
- uses: ./.github/actions/setup-rust
185186
with:
186187
repo-token: ${{ secrets.GITHUB_TOKEN }}
188+
skip-rust-cache: true
187189
- name: Install wasm32 target
188190
if: ${{ matrix.config.target == 'wasm32-unknown-unknown' }}
189191
run: rustup target add wasm32-unknown-unknown
@@ -214,6 +216,7 @@ jobs:
214216
- uses: ./.github/actions/setup-rust
215217
with:
216218
repo-token: ${{ secrets.GITHUB_TOKEN }}
219+
skip-rust-cache: true
217220
- uses: taiki-e/install-action@cargo-hack
218221
- uses: taiki-e/install-action@cargo-minimal-versions
219222
- run: cargo minimal-versions check --direct --workspace --ignore-private
@@ -237,6 +240,7 @@ jobs:
237240
with:
238241
toolchain: nightly
239242
repo-token: ${{ secrets.GITHUB_TOKEN }}
243+
skip-rust-cache: true
240244
- name: Rust Lint - Format
241245
run: cargo +nightly fmt --all --check
242246
- name: Rustc check
@@ -264,6 +268,7 @@ jobs:
264268
- uses: ./.github/actions/setup-rust
265269
with:
266270
repo-token: ${{ secrets.GITHUB_TOKEN }}
271+
skip-rust-cache: true
267272
- name: Install cargo-hack
268273
uses: taiki-e/install-action@cargo-hack
269274
- name: Rust Lint - Clippy No Default Features
@@ -304,6 +309,7 @@ jobs:
304309
- uses: ./.github/actions/setup-rust
305310
with:
306311
repo-token: ${{ secrets.GITHUB_TOKEN }}
312+
skip-rust-cache: true
307313
- name: Install grcov
308314
uses: taiki-e/install-action@grcov
309315
- name: Install nextest
@@ -379,6 +385,7 @@ jobs:
379385
repo-token: ${{ secrets.GITHUB_TOKEN }}
380386
toolchain: nightly
381387
components: "rust-src, rustfmt, clippy, llvm-tools-preview"
388+
skip-rust-cache: true
382389
- name: Install build dependencies
383390
run: |
384391
sudo apt-get update
@@ -442,6 +449,7 @@ jobs:
442449
- uses: ./.github/actions/setup-rust
443450
with:
444451
repo-token: ${{ secrets.GITHUB_TOKEN }}
452+
skip-rust-cache: true
445453
- name: Install nextest
446454
uses: taiki-e/install-action@v2
447455
with:
@@ -489,6 +497,7 @@ jobs:
489497
- uses: ./.github/actions/setup-rust
490498
with:
491499
repo-token: ${{ secrets.GITHUB_TOKEN }}
500+
skip-rust-cache: true
492501

493502
- name: Install Codspeed
494503
shell: bash

0 commit comments

Comments
 (0)