Align Dependabot coverage and add the dev-fast build fragment - #476
Align Dependabot coverage and add the dev-fast build fragment#476leynos wants to merge 5 commits into
Conversation
Bring `.github/dependabot.yml` to the estate baseline: one update stanza per package ecosystem the repository uses, each labelled `dependencies` plus its channel label, with GitHub Actions updates batched into a single pull request via a wildcard group. Add the opt-in dev-fast build fragment at `tools/dev-fast/config.toml` (Cranelift codegen for the dev profile and the mold linker on Linux) with `dev-build` and `dev-test` Make targets that pass it explicitly via `--config`, and signpost the workflow in `AGENTS.md`. Release, coverage, and verification builds are unaffected: the fragment is never auto-discovered.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Reviewer's GuideThis PR aligns Dependabot configuration with the canonical Rust baseline and introduces an opt‑in “dev-fast” Cargo config fragment wired into new Make targets and documented in AGENTS.md, without affecting CI or release builds. Sequence diagram for opt-in dev-fast build and test targetssequenceDiagram
actor Developer
participant Makefile
participant Cargo
participant DevFastConfig as tools_dev_fast_config_toml
Developer->>Makefile: make dev-build
Makefile->>Cargo: cargo --config DEV_FAST_CONFIG build
Cargo->>DevFastConfig: read config.toml
DevFastConfig-->>Cargo: apply profile.dev cranelift and linux mold
Cargo-->>Developer: debug binaries built
Developer->>Makefile: make dev-test
Makefile->>Cargo: cargo --config DEV_FAST_CONFIG test
Cargo->>DevFastConfig: read config.toml
DevFastConfig-->>Cargo: apply profile.dev cranelift and linux mold
Cargo-->>Developer: tests executed with dev-fast config
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
The dev-fast rollout writes "mold" (the linker) into AGENTS.md and the Makefile, and the en-GB-oxendict spelling gate reads it as a misspelling of "mould", failing CI. Accept the word via the estate's correction-to-itself pattern in `typos.local.toml`, and mirror it in the generated dictionary so local runs agree with the regenerated configuration.
|
The spelling gate failed on this branch because the appended dev-fast text names the |
A blanket `mold = "mold"` correction disables detection of genuine "mould" misspellings everywhere in the repository. Replace it with pattern-scoped exemptions covering only the linker contexts the dev-fast rollout introduced (`-fuse-ld=mold`, "mold linker", "Cranelift + mold", "Cranelift and mold", and backticked `mold`), and mirror them in the generated dictionary. Text such as "the bread had mold growing on it" is flagged again.
Estate review flagged two defects in the fragment's deployed comments: a stale "copy this fragment" instruction that reads as nonsense once the file is in place, and a mis-statement of Cargo's rustflags semantics (Cargo joins the entries of every matching `[target.*]` table; only the joined result takes precedence over `[build].rustflags` rather than merging). Both are corrected in the canonical source; take its bytes verbatim. No configuration key changes.
The recent spelling-configuration commits edited the committed `typos.toml` by hand; the pinned typos-config-builder orders entries canonically, so the drift check rejects the hand-inserted ordering. Regenerate the file with the repository's own pinned builder. The diff is ordering only: no pattern is added or removed, and the scoped mold exemptions behave identically.
There was a problem hiding this comment.
No application code in the PR — skipped Code Health checks.
See analysis details in CodeScene
Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
Summary
This branch applies Wave 1 of the Rust estate baseline remediation
(Operation Parabellum, phase 2). It aligns
.github/dependabot.yml
with the canonical Dependabot reference: one update stanza per package
ecosystem the repository uses (
cargo,rust-toolchain,github-actions), each stanza labelleddependenciesplus its channel label, and GitHub Actions updates batchedinto a single pull request via a wildcard group. It also adds the opt-in dev-fast build
fragment with
dev-buildanddev-testMake targets, signposted inAGENTS.md.
Review walkthrough
.github/dependabot.yml
for the ecosystem coverage and labels.
tools/dev-fast/config.toml
— a copy of the canonical fragment — and the
dev-build/dev-testtargets appended to the
Makefile.
AGENTS.md.
Validation
dependabot-baselineandrust-dev-fast-baseline:dependabot-baselinecompliant,rust-dev-fast-baselinecompliant.Notes
configuration references) were created on the repository ahead of this
pull request, so no stanza names a missing label.
applied when passed explicitly with
--config, so continuousintegration, release, coverage, and verification builds are untouched.
The targets need a nightly toolchain and, on Linux, a
moldbinary onthe
PATH; repositories still pinned to stable gain the wiring now andthe capability when Wave 2 moves the pin to nightly.
Summary by Sourcery
Align Dependabot configuration with Rust tooling coverage and introduce an opt-in fast debug build workflow for local development.
New Features:
dev-buildanddev-testthat use a dedicated Cargo config fragment for faster local debug builds.tools/dev-fast/config.tomlto enable Cranelift and mold for development builds.Enhancements:
Build:
rust-toolchainupdates with weekly scheduling and appropriate labels.