Speed up CI by caching rustup toolchain and using cargo-binstall
Some checks failed
CI / ci (pull_request) Failing after 26s

Cache ~/.rustup so the toolchain isn't reinstalled every run, and
install cargo-make/cargo-audit via cargo-binstall instead of
compiling them from source each time.
This commit is contained in:
Austin Schaefer 2026-07-29 16:12:18 +02:00
parent bfef9f3fd6
commit 3788eafa88

View file

@ -17,6 +17,7 @@ jobs:
path: | path: |
~/.cargo/registry ~/.cargo/registry
~/.cargo/bin ~/.cargo/bin
~/.rustup
target target
key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}
restore-keys: | restore-keys: |
@ -24,13 +25,20 @@ jobs:
- name: Install Rust toolchain - name: Install Rust toolchain
run: | run: |
if [ ! -x "$HOME/.cargo/bin/rustc" ]; then
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --profile minimal --component clippy --component rustfmt curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --profile minimal --component clippy --component rustfmt
fi
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Install cargo-binstall
run: |
command -v cargo-binstall >/dev/null 2>&1 || \
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- name: Install cargo-make and cargo-audit - name: Install cargo-make and cargo-audit
run: | run: |
for crate in cargo-make cargo-audit; do for crate in cargo-make cargo-audit; do
command -v "$crate" >/dev/null 2>&1 || cargo install "$crate" command -v "$crate" >/dev/null 2>&1 || cargo binstall -y "$crate"
done done
- name: Run CI checks - name: Run CI checks