Skip to content

dependabot majors #640/#641 merged with red compile checks — required-check gap during hybrid-gate cutover #661

Description

@forkwright

Finding

PRs #640 (ulid 1.2→3.0) and #641 (rubato 3→4) merged onto main although their own pre-merge Check/Clippy/Test runs failed — both carried genuine compile breaks (fixed forward in #660). Main's push CI has been red or superseded since #639.

Evidence

  • chore(deps): bump ulid from 1.2.1 to 3.0.0 #640 pre-merge run 29971760416: error[E0599]: no function or associated item named 'new' found for struct 'Ulid' in crates/paroche/src/routes/zone.rs:73 — merged anyway.
  • chore(deps): bump rubato from 3.0.0 to 4.0.0 #641: error[E0107] (audioadapter 4.0 trait-lifetime removal) in crates/akouo-core/src/output/resample.rs — merged anyway.
  • At merge time the required set had just been trimmed (hybrid-gate cutover) to gate / gate + cargo audit + cargo deny + osv-scanner + gitleaks + scan; Check/Clippy/Test were no longer required.
  • For both PRs gate / gate must have reported success despite the tree not compiling — hypothesis: docs_only_exemption (or the trailer route) in the reusable hybrid-gate classified the dependabot diffs (Cargo.toml/Cargo.lock only) as exempt from the full build, so full-gate-build skipped and gate / gate passed vacuously.

Why this matters

A lockfile-only diff is exactly the class MOST in need of a compile check — dependency bumps break trees while touching no source. If the exemption treats manifest/lockfile changes as docs-only, every dependabot PR can merge red.

Desired correction

Verify the hypothesis against the #640/#641 gate / gate run logs (route taken, exemption decision). If confirmed: the docs-only classifier in the reusable hybrid-gate (forkwright/.github) must treat Cargo.toml/Cargo.lock (and any build-input file) as code, fleet-wide. Add a regression: a lockfile-only PR must take the full-gate-build route.

Done when: a Cargo.lock-only PR demonstrably runs full-gate-build, and the classifier change is landed in the reusable workflow consumed by all adopted repos.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions