CI had never run, and two of its jobs could not have passed

Contribution Date
Contribution Project
Contribution Details
CI had never run, and two of its jobs could not have passed Actions was disabled at the repository level, so `ci.yml` sat in the tree for 137 commits without executing once. Enabling it surfaced two failures that were nothing to do with the code under test. **The lint job floated while everything else was pinned.** It used `dtolnay/rust-toolchain@stable` where the test job and a laptop both use the mise pin. Clippy gains lints in every release, so the gate was one rustc release away from failing on an unchanged workspace — and that is exactly what it did on its first run: the pin says 1.94.0, `stable` was 1.98.0, and `collapsible_match` failed a tree that was clean locally. A gate that can go red without a commit teaches people to ignore it. **The test job did not fit on a runner.** `rustc-LLVM ERROR: IO failure on output stream: No space left on device`, while linking the last of the integration binaries. A runner starts with ~14GB free; this workspace links one test binary per suite and full debuginfo for all of them is the bulk of the cost. Line tables are what a backtrace from a failing test actually needs, and dropping the preinstalled dotnet, android and ghc trees returns about 25GB — which keeps the fix on the runner's side rather than trimming the suite to fit.
Contribution Author
Bassam Ismail
Files count
0
Patches count
1