From 99bac263ae773cc8cb42c418630c8e7dd7d023b8 Mon Sep 17 00:00:00 2001 From: Adam Getchell Date: Fri, 31 Jul 2026 23:33:23 -0700 Subject: [PATCH 1/2] build(msrv)!: require Rust 1.97.1 - align contributor, CI, release, and Clippy toolchain baselines - compile benchmarks with Cargo's warning policy to preserve cache reuse - publish CodeRabbit's canonical review check for ruleset enforcement BREAKING CHANGE: la-stack now requires Rust 1.97.1. --- .coderabbit.yaml | 9 +++++---- AGENTS.md | 2 +- CONTRIBUTING.md | 2 +- Cargo.toml | 2 +- README.md | 2 +- clippy.toml | 2 +- docs/RELEASING.md | 2 +- justfile | 7 ++++--- rust-toolchain.toml | 2 +- 9 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 130cb02..b856858 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -5,10 +5,11 @@ early_access: false reviews: profile: chill request_changes_workflow: true - # Publish only the legacy commit status consumed by the main-branch ruleset. - # The review-progress path creates a second GitHub check run for the same review. - review_progress: false - commit_status: true + review_status: true + # Publish CodeRabbit's canonical GitHub check run for ruleset enforcement. + review_progress: true + # Do not mirror the review through GitHub's legacy commit-status API. + commit_status: false fail_commit_status: true tools: github-checks: diff --git a/AGENTS.md b/AGENTS.md index ad42436..0e38bdf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -207,7 +207,7 @@ When user requests commit message generation: ### Rust -- The current MSRV and pinned contributor/CI toolchain are Rust 1.97.0. Keep +- The current MSRV and pinned contributor/CI toolchain are Rust 1.97.1. Keep `Cargo.toml`, `rust-toolchain.toml`, and `clippy.toml` aligned when that baseline changes deliberately. - Prefer borrowed APIs by default: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a3ebf0e..a1a5040 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,7 @@ clarity, and the fixed-dimension stack-allocation model. ## Getting Started -Install Rust 1.97.0 through [rustup](https://rustup.rs/), Git, Python 3.14, +Install Rust 1.97.1 through [rustup](https://rustup.rs/), Git, Python 3.14, [`uv` 0.12.0](https://docs.astral.sh/uv/), and `jq`. Install the repository's pinned `just` version from its locked dependency graph: diff --git a/Cargo.toml b/Cargo.toml index 099946d..332769a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "la-stack" version = "0.4.4" edition = "2024" -rust-version = "1.97.0" +rust-version = "1.97.1" license = "BSD-3-Clause" description = "Fast, stack-allocated linear algebra for fixed dimensions" readme = "README.md" diff --git a/README.md b/README.md index 303bc3f..e27ee6b 100644 --- a/README.md +++ b/README.md @@ -570,7 +570,7 @@ cargo run --features exact --example exact_solve_3x3 A short contributor workflow: -Install Rust 1.97.0 through [rustup](https://rustup.rs/), Git, Python 3.14, +Install Rust 1.97.1 through [rustup](https://rustup.rs/), Git, Python 3.14, [`uv` 0.12.0](https://docs.astral.sh/uv/), and `jq`. Then install the pinned `just` release from its locked dependency graph: diff --git a/clippy.toml b/clippy.toml index 0894395..3b3d5b6 100644 --- a/clippy.toml +++ b/clippy.toml @@ -1,6 +1,6 @@ # Clippy configuration for the la-stack crate. # Keep lint behavior aligned with Cargo.toml and rust-toolchain.toml. -msrv = "1.97.0" +msrv = "1.97.1" # Lint levels are owned by Cargo.toml. diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 6efc765..ec78875 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -14,7 +14,7 @@ to crates.io. ## Conventions and environment -The current MSRV and pinned release-validation toolchain are Rust 1.97.0. Keep +The current MSRV and pinned release-validation toolchain are Rust 1.97.1. Keep `Cargo.toml`, `rust-toolchain.toml`, and `clippy.toml` aligned whenever a future release deliberately changes that baseline. diff --git a/justfile b/justfile index 14b9110..86d9ce4 100644 --- a/justfile +++ b/justfile @@ -204,11 +204,12 @@ bench-compare baseline="last" suite="all" scope="release-signal": python-sync baseline={{ quote(baseline) }} uv run --locked bench-compare "$baseline" --suite {{ quote(suite) }} --scope {{ quote(scope) }} -# Compile benchmarks without running them, treating warnings as errors. +# Compile benchmarks without running them, treating warnings as errors through +# Cargo so warning policy does not create separate rustc cache artifacts. # This catches bench/release-profile-only warnings that won't show up in normal debug-profile runs. bench-compile: - RUSTFLAGS='-D warnings' cargo bench --locked --no-run --features bench - RUSTFLAGS='-D warnings' cargo bench --locked --no-run --features bench,exact --bench exact + CARGO_BUILD_WARNINGS=deny cargo bench --locked --no-run --features bench + CARGO_BUILD_WARNINGS=deny cargo bench --locked --no-run --features bench,exact --bench exact # Run the exact-arithmetic benchmark suite. bench-exact: diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 825be0b..ec4f6a3 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,6 +1,6 @@ [toolchain] # Pin to MSRV as specified in Cargo.toml -channel = "1.97.0" +channel = "1.97.1" # Essential repository components. Keep checkout and CI setup lean; workflows # install additional targets or components when they need them. From 5235365efaf38a0d4035d74a46a7468ad10921d0 Mon Sep 17 00:00:00 2001 From: Adam Getchell Date: Sat, 1 Aug 2026 07:18:27 -0700 Subject: [PATCH 2/2] ci(coderabbit): restore ruleset-compatible status - publish the legacy CodeRabbit commit status required by the main ruleset - keep review progress disabled until CodeRabbit can publish the required check run --- .coderabbit.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index b856858..5901b6b 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -5,11 +5,10 @@ early_access: false reviews: profile: chill request_changes_workflow: true - review_status: true - # Publish CodeRabbit's canonical GitHub check run for ruleset enforcement. - review_progress: true - # Do not mirror the review through GitHub's legacy commit-status API. - commit_status: false + # Publish the legacy commit status consumed by the main-branch ruleset. + # Keep review_progress off until CodeRabbit can publish the required check run. + review_progress: false + commit_status: true fail_commit_status: true tools: github-checks: