chore(toolchain): pin rust 1.94.1, fix clippy/fmt workspace-wide, deflake config tests (BUNYIP-36) #39
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/bunyip-36-rust-1.94-toolchain"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes BUNYIP-36.
What
ghcr.io/niceguyit/rust-builder-*:v1.0.0-rust1.94-*images, so CI, Dockerfile builds, and container checks on toolchain-less dev boxes now all resolve to a preinstalled toolchain - no downloads anywhere.FeedbackStatus::from_strbecomes a properstd::str::FromStrimpl. The three large auth result enums (LoginResult,MagicLinkResult,AcceptInviteResult) box theirUserResponsepayload (clippy::large_enum_variant).too_many_argumentshits that are actix extractor lists, OIDC protocol parameters, or independent nullable columns get targeted#[allow]s with rationale comments instead of pointless params structs.EmailService::feedback_excerptand its tests (no production caller, no template references an excerpt variable).bunyip-domain/src/config.rsnow serialize on a sharedENV_LOCKmutex with poison recovery.Config::from_envreads every sub-config's env vars, so any two of these tests could race; now they cannot. Verified with 10 consecutive runs, all clean.cargo fmt --all --checkis clean under 1.94.1.Verification (rust-builder-glibc 1.94.1 container, SQLX_OFFLINE=true)
cargo clippy --workspace --all-targets -- -D warnings: cleancargo fmt --all --check: cleancargo build --workspace --all-targets: cleancargo test --workspace --lib: 18 + 176 + 7 + 0 passed, 0 failedconfig::testsx10 consecutive runs: 17 passed each, no flakesjust check-docker(api Dockerfile builder stage): clean (release build, 2m 51s)The existing
.forgejo/workflows/check.ymlneeds no changes: the runner's rustup honoursrust-toolchain.toml, and the components list in the pin installs clippy/rustfmt automatically.