Skip to content

Align Dependabot coverage and add the dev-fast build fragment - #325

Draft
leynos wants to merge 2 commits into
mainfrom
parabellum-wave-1
Draft

Align Dependabot coverage and add the dev-fast build fragment#325
leynos wants to merge 2 commits into
mainfrom
parabellum-wave-1

Conversation

@leynos

@leynos leynos commented Aug 13, 2026

Copy link
Copy Markdown
Owner

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, github-actions), each stanza labelled
dependencies plus its channel label, and GitHub Actions updates batched
into a single pull request via a wildcard group. It also adds the opt-in dev-fast build
fragment with dev-build and dev-test Make targets, signposted in
AGENTS.md.

Review walkthrough

Validation

  • Audited the amended tree with the Concordat rule packages
    dependabot-baseline and rust-dev-fast-baseline: dependabot-baseline compliant, rust-dev-fast-baseline compliant.

Notes

  • The canonical labels (including the Dependabot channel labels this
    configuration references) were created on the repository ahead of this
    pull request, so no stanza names a missing label.
  • The dev-fast fragment is strictly opt-in local tooling: it is only
    applied when passed explicitly with --config, so continuous
    integration, release, coverage, and verification builds are untouched.
    The targets need a nightly toolchain and, on Linux, a mold binary on
    the PATH; repositories still pinned to stable gain the wiring now and
    the capability when Wave 2 moves the pin to nightly.

Summary by Sourcery

Align dependency management configuration and introduce an opt-in fast development build workflow using a dedicated Cargo config fragment and Make targets, with accompanying documentation.

New Features:

  • Introduce opt-in dev-fast build and test targets that use Cranelift and mold for accelerated local debug workflows.

Enhancements:

  • Document fast development build workflow in AGENTS.md, clarifying its opt-in nature and impact on other builds.
  • Add a canonical dev-fast Cargo configuration fragment to support accelerated local debug builds without affecting standard build pipelines.

Build:

  • Update Dependabot configuration to refine Python dependency labelling by adding a dedicated pip label.

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.
@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: eed4e4ca-10d4-4fcf-b032-ec7ccf4a97de

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@sourcery-ai

sourcery-ai Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

Aligns Dependabot configuration with the canonical baseline and adds an opt-in dev-fast build fragment with corresponding Make targets and documentation, without affecting CI or release builds.

Sequence diagram for opt-in dev-fast build and test flow

sequenceDiagram
  title Opt-in dev-fast build and test flow
  actor Developer
  participant Makefile
  participant Cargo
  participant DevFastConfigToml

  Developer->>Makefile: make dev-build
  Makefile->>Cargo: cargo --config DEV_FAST_CONFIG build
  Cargo->>DevFastConfigToml: load dev-fast config.toml
  DevFastConfigToml-->>Cargo: codegen-backend=cranelift, rustflags=mold
  Cargo-->>Developer: debug binaries built with Cranelift and mold

  Developer->>Makefile: make dev-test
  Makefile->>Cargo: cargo --config DEV_FAST_CONFIG test
  Cargo->>DevFastConfigToml: load dev-fast config.toml
  DevFastConfigToml-->>Cargo: apply dev-only settings
  Cargo-->>Developer: tests run with Cranelift and mold

  opt [CI and release builds]
    CI->>Cargo: cargo build / cargo test
    Cargo-->>CI: use default LLVM backend and platform linker
  end
Loading

File-Level Changes

Change Details Files
Introduce opt-in fast development build targets wired to a dedicated Cargo config fragment.
  • Define DEV_FAST_CONFIG variable pointing to tools/dev-fast/config.toml with a default path.
  • Add phony dev-build and dev-test Make targets that invoke cargo with the explicit --config flag.
  • Ensure accelerated builds are clearly marked as debug-only and toolchain-dependent via comments in the Makefile.
Makefile
Document the dev-fast workflow and its constraints for local development only.
  • Add a "Fast development builds" section explaining dev-build and dev-test usage and behavior.
  • Clarify nightly toolchain and mold linker requirements and their Linux-only applicability.
  • Warn against copying the dev-fast fragment into .cargo/config.toml to avoid affecting non-dev builds.
AGENTS.md
Align Cargo and GitHub Actions Dependabot configuration with canonical labeling and grouping.
  • Extend the Python ecosystem stanza labels to include the pip label for clearer categorization.
  • Confirm update stanzas follow the one-per-ecosystem pattern with canonical dependency/channel labels.
  • Ensure GitHub Actions updates are batched via label-based grouping (per description) without misnamed labels.
.github/dependabot.yml
Add the canonical dev-fast Cargo configuration fragment for Cranelift and mold-based debug builds.
  • Enable the unstable codegen-backend feature in the fragment.
  • Configure the dev profile to use the Cranelift backend for faster compile times only on debug builds.
  • Gate mold-specific linker flags behind a Linux-only target cfg so non-Linux platforms use their default linker.
  • Document interaction with existing rustflags in .cargo/config.toml and the need to restate them when using dev-fast.
tools/dev-fast/config.toml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@github-actions github-actions Bot added scope: docs Documentation size: S 10-49 changed lines risk: low Changes to docs, tests, or low-risk modules contributor: core 20+ merged PRs labels Aug 13, 2026
codescene-access[bot]

This comment was marked as outdated.

codescene-access[bot]

This comment was marked as outdated.

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.
codescene-access[bot]

This comment was marked as outdated.

@codescene-access codescene-access Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No quality gates enabled for this code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: low Changes to docs, tests, or low-risk modules scope: docs Documentation size: S 10-49 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant