Repository navigation
ci: add Rust MSRV build and latest-stable lint checks - #470
Merged
Merged
Conversation
Declare rust-version = "1.89.0" in the workspace and inherit it in every package. Next to the full test matrix on the pinned toolchain from rust-toolchain.toml, add two quick checks that need no PostgreSQL or credentials: - Quick check (Rust MSRV) reads rust-version from Cargo.toml and builds the production binary on it with the committed lockfile. - Quick check (Rust stable) runs fmt and Clippy on the latest stable release, to flag breakage before the pin is bumped. Document the three toolchains and how to bump the pin or the MSRV in DEVELOPMENT.md. Refs CIP-4954 Claude-Session: https://claude.ai/code/session_01PeBRsmwf2siZczh49FAPfe
tobyhede
force-pushed
the
claude/project-thread-v9m494
branch
from
October 15, 2026 00:57
f450538 to
2811b74
Compare
tobyhede
marked this pull request as ready for review
October 15, 2026 00:59
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
freshtonic
reviewed
Oct 15, 2026
Avoids confusion with QuickCheck-style property testing. Claude-Session: https://claude.ai/code/session_01PeBRsmwf2siZczh49FAPfe
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Toby · project thread
Resolves CIP-4954. Stacked on #468, which pins the full matrix and release builds to Rust 1.99.0.
Before: CI ran only one toolchain. Nothing recorded the oldest compiler that can build Proxy, so a dependency or code change could raise it without anyone noticing. Rust 1.88 already fails, in
stack-profile(File::lock), and no manifest declares that. With #468's pin, nothing would warn us when a new stable release breaks the build.After: CI uses three toolchains.
rust-toolchain.toml(#468)stablechannel-D warningsrust-versioninCargo.tomlcargo build --locked --release --package cipherstash-proxyThe two new jobs need no PostgreSQL services or secrets, and neither expands the matrix.
How
rust-version = "1.89.0"under[workspace.package], and every package inherits it.Cargo.toml. It doesn't usecargo metadatafor this step because cargo would need the pinned toolchain installed first. It installs the MSRV toolchain, then checks thatcargo metadatareports the samerust_versionforcipherstash-proxybefore building. In both new jobs,RUSTUP_TOOLCHAINoverridesrust-toolchain.toml.DEVELOPMENT.mdgets a new "Supported Rust versions" section. It covers the three toolchains, how to run the checks locally, bumping the pin when the stable lint fails, and the steps for a deliberate MSRV increase (Cargo.toml, docs, changelog).CHANGELOG.mdgets an[Unreleased]entry.Validation (Linux x86_64)
cargo +1.89.0 build --locked --release --package cipherstash-proxypasses with ci: pin the Rust toolchain to 1.99.0 #468's lockfile, and the binary reportscipherstash-proxy 3.0.1.cargo fmt --all -- --checkandcargo clippy --all --no-deps --all-targets --all-features -- -D warningspass, with theincompatible_msrvlint active.After merge
Add Build (Rust MSRV) to the required status checks. I suggest leaving Lint (Rust stable) non-required, since it exists to give early warning.
Acknowledgment
By submitting this pull request, I confirm that CipherStash can use, modify, copy, and redistribute this contribution, under the terms of CipherStash's choice.
https://claude.ai/code/session_01PeBRsmwf2siZczh49FAPfe