chore(dev): align local clippy with CI (Rust 1.94 + -D warnings) #106

Merged
David merged 3 commits from chore/sync-local-clippy-with-ci into main 2026-05-15 02:33:46 +02:00
Owner

Summary

Follow-up to #105. CI runs clippy on Rust 1.94 with -- -D warnings; the local ./dev/cargo wrapper was pinned to rust:1.88-slim-bookworm and the justfile clippy recipes did not pass -D warnings, which let new-clippy lints and warning-class lints slip past just check and only fail after the push. #105 fixed the source side; this PR closes the wrapper-side gap so the next drift surfaces locally.

Changes

  • dev/cargo, dev/cargo-desktop: bump the base image from rust:1.88-slim-bookworm to rust:1.94-slim-bookworm.
  • justfile::check-clippy / check-clippy-saas: append --all-targets -- -D warnings.

The named docker volumes keep their existing names. The cargo registry and target cache stay valid across the version bump (cargo invalidates per-rustc as needed); the rustup volume already supports multiple toolchains side by side, so the 1.94 rustfmt + clippy components install alongside the existing 1.88 entries on first invocation via the wrapper's cargo fmt --version || rustup component add rustfmt clippy line. A clean-clone first run with empty volumes also works because that same line bootstraps the components for whichever toolchain the new image ships.

Test plan

  • just check (running on top of #105) is green end-to-end: standalone clippy, saas clippy, desktop clippy, and fmt-check all finish with no warnings.
  • Depends on #105 landing first. Without those source fixes, the new -D warnings recipe will fail the local check at the same lints CI is already failing on. Merge order: #105, then this.
## Summary Follow-up to #105. CI runs clippy on Rust 1.94 with `-- -D warnings`; the local `./dev/cargo` wrapper was pinned to `rust:1.88-slim-bookworm` and the justfile clippy recipes did not pass `-D warnings`, which let new-clippy lints and warning-class lints slip past `just check` and only fail after the push. #105 fixed the source side; this PR closes the wrapper-side gap so the next drift surfaces locally. ## Changes - `dev/cargo`, `dev/cargo-desktop`: bump the base image from `rust:1.88-slim-bookworm` to `rust:1.94-slim-bookworm`. - `justfile::check-clippy` / `check-clippy-saas`: append `--all-targets -- -D warnings`. The named docker volumes keep their existing names. The cargo registry and target cache stay valid across the version bump (cargo invalidates per-rustc as needed); the rustup volume already supports multiple toolchains side by side, so the 1.94 rustfmt + clippy components install alongside the existing 1.88 entries on first invocation via the wrapper's `cargo fmt --version || rustup component add rustfmt clippy` line. A clean-clone first run with empty volumes also works because that same line bootstraps the components for whichever toolchain the new image ships. ## Test plan - [x] `just check` (running on top of #105) is green end-to-end: standalone clippy, saas clippy, desktop clippy, and fmt-check all finish with no warnings. - [ ] **Depends on #105 landing first.** Without those source fixes, the new `-D warnings` recipe will fail the local check at the same lints CI is already failing on. Merge order: #105, then this.
chore(dev): align local clippy with CI (Rust 1.94 + -D warnings)
Some checks failed
Check / clippy + fmt + tests (pull_request) Failing after 30s
1af0380ce2
The CI runner builds on Rust 1.94 with `clippy ... -- -D warnings`; the local `./dev/cargo` wrapper was pinned to `rust:1.88-slim-bookworm` and the justfile clippy recipes did not pass `-D warnings`. Both gaps let lints that exist only in newer clippy (eg. `manual_repeat_n`, refreshed `should_implement_trait` matching) and lints that CI promotes from warning to error slip past `just check` and only surface after a push. PR #105 silenced the source-side fallout; this PR closes the wrapper-side gap so the next drift fails the local check the same way it fails CI.

- `dev/cargo`, `dev/cargo-desktop`: bump the Docker base image from `rust:1.88-slim-bookworm` to `rust:1.94-slim-bookworm`.
- `justfile::check-clippy` and `justfile::check-clippy-saas`: append `--all-targets -- -D warnings` so the recipe checks every binary / test target and treats every warning as an error.

The named docker volumes (`lets-chat-rewrite-cargo-registry`, `lets-chat-rewrite-cargo-git`, `lets-chat-rewrite-target`, `lets-chat-rewrite-rustup`) keep their existing names. The cargo registry and target cache stay valid across the version bump (cargo invalidates per-rustc as needed); the rustup volume already supports multiple toolchains side by side, so the 1.94 rustfmt + clippy components install alongside the existing 1.88 entries on first invocation. `just check` from a clean clone with empty volumes also still works because the wrapper's `cargo fmt --version || rustup component add rustfmt clippy` line installs the components for whichever toolchain the new image ships.

Verified locally: with both source-side fixes (#105) and these wrapper changes, `just check` runs the standalone + saas server clippy, the desktop clippy, and the fmt check all green, no warnings emitted.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Merge branch 'main' into chore/sync-local-clippy-with-ci
Some checks failed
Check / clippy + fmt + tests (pull_request) Failing after 12s
4cbbe26a57
Merge branch 'main' into chore/sync-local-clippy-with-ci
Some checks failed
Check / clippy + fmt + tests (pull_request) Failing after 18s
5ee6ebe24a
David merged commit 725535b2fc into main 2026-05-15 02:33:46 +02:00
David deleted branch chore/sync-local-clippy-with-ci 2026-05-15 02:33:46 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!106
No description provided.