Speed up CI by caching rustup toolchain and using cargo-binstall #2

Merged
schaefera merged 2 commits from fix/ci-cache-speedup into master 2026-07-29 14:29:01 +00:00
Collaborator

The CI job moved from the rust:latest image to the generic node:20-bookworm runner image, which has no Rust toolchain preinstalled. Every run was reinstalling the full toolchain via rustup and compiling cargo-make/cargo-audit from source with cargo install, adding ~10 minutes to every build.

This PR:

  • Adds ~/.rustup to the cache path so the installed toolchain persists across runs
  • Skips the rustup install step entirely when rustc is already present (cache hit)
  • Installs cargo-binstall and uses it to fetch prebuilt cargo-make/cargo-audit binaries instead of compiling them from source

Test plan

  • CI run on this PR completes noticeably faster than the ~10min baseline, especially on a cache hit (second run)
The CI job moved from the `rust:latest` image to the generic `node:20-bookworm` runner image, which has no Rust toolchain preinstalled. Every run was reinstalling the full toolchain via rustup and compiling `cargo-make`/`cargo-audit` from source with `cargo install`, adding ~10 minutes to every build. This PR: - Adds `~/.rustup` to the cache path so the installed toolchain persists across runs - Skips the rustup install step entirely when `rustc` is already present (cache hit) - Installs `cargo-binstall` and uses it to fetch prebuilt `cargo-make`/`cargo-audit` binaries instead of compiling them from source ## Test plan - [ ] CI run on this PR completes noticeably faster than the ~10min baseline, especially on a cache hit (second run)
claude-bot added 1 commit 2026-07-29 14:12:28 +00:00
Speed up CI by caching rustup toolchain and using cargo-binstall
Some checks failed
CI / ci (pull_request) Failing after 26s
3788eafa88
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.
schaefera added 1 commit 2026-07-29 14:24:54 +00:00
Force musl targets for cargo-binstall to avoid GLIBC mismatch
All checks were successful
CI / ci (pull_request) Successful in 1m47s
ff91960b7b
The glibc-linked prebuilt cargo-make binary requires GLIBC 2.39,
newer than what's on the node:20-bookworm image. Musl binaries
are statically linked and avoid the mismatch.
schaefera merged commit 4d654026f4 into master 2026-07-29 14:29:01 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: schaefera/notif-picker#2
No description provided.