Adopt the Whitaker Dylint suite in the lint gate and CI - #13
Conversation
Align the repository's Whitaker Dylint wiring with the estate-wide adoption pattern established in leynos/netsuke#410. The repository skeleton already ran Whitaker from `make lint`, but it resolved the binary through a bespoke `$(HOME)`-relative search path and installed the suite in CI from a pinned git revision built with `cargo install --git --rev` and the `--cranelift` flag. - Simplify the Makefile to the standard `WHITAKER ?= whitaker` tool variable and invoke the suite directly after Clippy in the `lint` target, updating the target's help text to mention Whitaker. - Replace the rev-pinned CI install with the released `whitaker-installer@0.2.5` fetched via `cargo binstall` (provided by the shared `setup-rust` action), caching the installer binary and the cargo-binstall cache under the estate-standard `whitaker-installer-<os>-<arch>-<version>` key. The suite reports no findings on this codebase, so no code changes or `dylint.toml` exclusions were required. The Dependabot-actor audit skip is left untouched.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 6 minutes Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This project builds with the Cranelift debug backend, so the Dylint driver's pinned nightly needs `rustc-codegen-cranelift` installed. Restore the installer's `--cranelift` flag, which the standardized install step had dropped.
Pass WHITAKER_INSTALLER_VERSION to the run block through the shell
environment rather than inline `${{ env }}` template expansion, which
zizmor flags as a template-injection risk; the job-level `env:` block
already exports the variable. Add `--locked` to the cargo binstall
invocation so that its compile-from-source fallback resolves
dependencies from the published lockfile, keeping fallback builds
reproducible.
Summary
This pull request aligns evert with the estate-wide rollout of the
Whitaker Dylint suite (reference adoption: leynos/netsuke#410). The
repository skeleton already invoked Whitaker from
make lint, but itresolved the binary through a bespoke
$(HOME)-relative search path andinstalled the suite in CI from a pinned git revision via
cargo install --git --revwith the--craneliftflag. The wiring nowfollows the standard pattern: a plain
WHITAKER ?= whitakertoolvariable in the Makefile, and a CI install of the released
whitaker-installer@0.2.5viacargo binstallwith theestate-standard cache key. The suite reports no findings on this
codebase, so no code changes or
dylint.tomlexclusions were required.The Dependabot-actor skip on the dependency audit is deliberately left
untouched.
Review walkthrough
Makefile:replaces the
USER_WHITAKER/USER_BIN_PATHresolution withWHITAKER ?= whitaker, runs the suite directly after Clippy in thelinttarget, and updates the target's help text to mention rustdoc,Clippy, and Whitaker.
.github/workflows/ci.yml:swaps
WHITAKER_INSTALLER_REVforWHITAKER_INSTALLER_VERSION: '0.2.5', narrows the cache to~/.cargo/bin/whitaker-installerand~/.cache/cargo-binstallunder thewhitaker-installer-<os>-<arch>-<version>key, and installs thereleased installer with
cargo binstall(provided by the sharedsetup-rustaction), skipping the download when the binary isalready cached.
Validation
env -u WHITAKER RUSTFLAGS="-D warnings" whitaker --all -- --all-targets --all-features— no findings, exit 0.env -u WHITAKER make check-fmt lint typecheck test markdownlint— all pass; the lint log confirmswhitaker --all -- --all-targets --all-featuresran after Clippy.make nixie— all Mermaid diagrams validated.mbake validate Makefile— valid syntax.🤖 Generated with Claude Code