Skip to content

ci: pin Rust toolchain to 1.95 across CI and local dev#38

Merged
chaliy merged 1 commit into
mainfrom
claude/ci-pin-rust-toolchain-t0rOv
May 17, 2026
Merged

ci: pin Rust toolchain to 1.95 across CI and local dev#38
chaliy merged 1 commit into
mainfrom
claude/ci-pin-rust-toolchain-t0rOv

Conversation

@chaliy
Copy link
Copy Markdown
Owner

@chaliy chaliy commented May 17, 2026

What

Pin the Rust toolchain to 1.95 in both CI and local dev so toolchain bumps are explicit.

  • New rust-toolchain.toml at repo root (channel 1.95, components rustfmt + clippy, minimal profile). Rustup picks this up automatically for contributors.
  • Replace every dtolnay/rust-toolchain@stable in .github/workflows/ci.yml and publish.yml with @1.95.0 so CI uses the same compiler.
  • AGENTS.md gets a short note documenting where the version is pinned and the recommended bump cadence (during routine maintenance).

Why

The dependency-upgrade PR (#34) initially failed clippy because dtolnay/rust-toolchain@stable had silently rolled from 1.94 to 1.95, which introduced clippy::unnecessary_sort_by and tripped on a pre-existing sort_by in src/tui/ui.rs. Pinning makes that kind of bump a deliberate PR (with one focused diff) rather than a surprise on unrelated work.

How

The dtolnay/rust-toolchain action does not auto-read rust-toolchain.toml, so the workflow tags need to be updated too. Both files now name the same version; AGENTS.md calls out that they bump together.

Risk

  • Low. CI will continue running on 1.95 (same compiler that produced the last green run on main). Future Rust releases won't auto-apply.
  • Toolchain bumps become a small periodic task; AGENTS.md flags it for the next maintenance pass.

Checklist

  • cargo build succeeds on the pinned 1.95 toolchain locally
  • cargo test passes
  • Every dtolnay/rust-toolchain@* reference updated (11 occurrences across ci.yml + publish.yml)
  • AGENTS.md documents where the version is pinned and the bump cadence

CI previously used dtolnay/rust-toolchain@stable, which rolled silently
from 1.94 to 1.95 mid-PR and introduced a new clippy lint
(clippy::unnecessary_sort_by) that broke green-on-yesterday builds.

Pin the toolchain so toolchain bumps are explicit:

- Add rust-toolchain.toml at the repo root pinning channel = "1.95"
  with rustfmt + clippy components. This is the source of truth for
  local development (rustup honors it automatically).
- Replace every dtolnay/rust-toolchain@stable in .github/workflows/
  with @1.95.0 so CI tracks the same version. (dtolnay's action does
  not auto-read rust-toolchain.toml.)
- Document the bump cadence in AGENTS.md.

Tradeoff: new lints/features no longer surface automatically. We
prefer to receive them in a deliberate "bump the toolchain" PR rather
than discovering them on an unrelated PR's red CI.
@chaliy chaliy merged commit 6ac9e19 into main May 17, 2026
11 checks passed
@chaliy chaliy deleted the claude/ci-pin-rust-toolchain-t0rOv branch May 17, 2026 17:35
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