Skip to content

chore(ci): pin build job to rust 1.96.1#302

Merged
AlfioEmanueleFresta merged 1 commit into
masterfrom
chore/pin-ci-toolchain
Jul 14, 2026
Merged

chore(ci): pin build job to rust 1.96.1#302
AlfioEmanueleFresta merged 1 commit into
masterfrom
chore/pin-ci-toolchain

Conversation

@AlfioEmanueleFresta

Copy link
Copy Markdown
Member

Our build job doesn't install a toolchain, so it runs on whatever Rust the runner image happens to ship. Clippy is gated with -D warnings, so the day that image moves to a newer compiler, master and every open PR go red at once.

Pin the job to 1.96.1, which is green today. CI config only, no code changes.

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.
@AlfioEmanueleFresta
AlfioEmanueleFresta merged commit 39ac699 into master Jul 14, 2026
8 checks passed
@AlfioEmanueleFresta
AlfioEmanueleFresta deleted the chore/pin-ci-toolchain branch July 14, 2026 19:23
AlfioEmanueleFresta added a commit that referenced this pull request Jul 14, 2026
Stacked on #302.

Now the toolchain is pinned we can move it on purpose. Bump to 1.97.0
and fix the 13 clippy warnings it brings. They are all the same one: a
redundant & in a println! or write! argument. Formatting takes its
arguments by reference anyway, so nothing changes at runtime.

Pinning keeps CI predictable, but on its own it hides drift. This adds a
latest stable job running the same checks as the pinned build job. It
runs on master and weekly, never on pull requests, so it warns us early
without putting a red X on everyone's PR.

It also deletes rust-clippy.yml, which has never worked.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant