From 9dcdcd9644ebea8c244d8d38fd08081ac16a9028 Mon Sep 17 00:00:00 2001 From: Alfie Fresta Date: Tue, 14 Jul 2026 18:03:55 +0000 Subject: [PATCH] chore(ci): pin build job to rust 1.96.1 The blocking build job installs no toolchain and runs against whatever stable the ubuntu-latest runner image happens to preinstall. A runner image bump therefore lands a new compiler and a new clippy on master and on every open pull request at once, with no change on our side. Clippy 1.97 already flags thirteen pre-existing useless_borrows_in_formatting sites, so the next image refresh would turn CI red with nothing to point at. This pins the job to 1.96.1, the newest stable whose clippy is clean on the current tree, and installs it with the clippy and rustfmt components the job uses. CI becomes deterministic, and moving to a newer toolchain becomes a deliberate, reviewable change rather than something that happens to us. The MSRV job is untouched: it keeps its explicit cargo +1.88, which still overrides the default. Uninstall the toolchain the image ships with once we have switched off it. The job builds the workspace three times over and then runs a publish dry run, which leaves little disk headroom on the runner, and keeping a second toolchain around is enough to run it out of space. --- .github/workflows/rust.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index c1b291f9..c20425f2 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -15,6 +15,13 @@ jobs: run: sudo apt-get update - name: Install system dependencies run: sudo apt-get install libudev-dev libdbus-1-dev libsodium-dev libnfc-dev libpcsclite-dev publicsuffix + - name: Install pinned toolchain + # Drop the toolchain the image ships with once we have switched off it. The job builds the + # workspace three times over, and the runner does not have the disk to spare for both. + run: | + rustup toolchain install 1.96.1 --profile minimal -c clippy,rustfmt + rustup default 1.96.1 + rustup toolchain uninstall stable - name: Clippy run: cargo clippy --workspace --all-targets --all-features -- -D warnings - name: Check formatting