ci: leave Dependabot branches to Dependabot so bumps can rebase themselves - #6851
Conversation
…elves The auto-commit job pushed its generated-file sync onto every same-repo PR branch, Dependabot's included. GitHub permanently revokes Dependabot's ability to rebase a pull request once another actor pushes to its branch, so a synced bump could never recover from base drift: the moment anything else merged it went behind base, auto-merge could never fire, and `@dependabot rebase` was refused. Roughly half of Dependabot PRs carried the sync commit, and because the ecosystem is capped at an open-PR limit the stranded ones throttled dependency intake generally. Skip the PR-branch push for Dependabot-authored pull requests. The generated change is not lost: it lands through the existing protected-branch path, which opens a sync PR after the bump merges to the default branch. Both drift gates that could otherwise fail such a PR are fork-only, so nothing goes red in the gap. The contract test asserts both conditions whole rather than by substring, for the reason the concurrency tests in the same file record: a fragment match admits inverted and appended forms that still push to Dependabot's branch. Fixes #6832 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
✅MegaLinter analysis: Success✅ Linters with no issuesactionlint, bash-exec, git_diff, hadolint, jscpd, jsonlint, lychee, markdown-table-formatter, markdownlint, prettier, prettier, shellcheck, shfmt, stylelint, syft, trivy-sbom, trufflehog, v8r, v8r, yamllint Notices
See detailed reports in MegaLinter artifacts
|
What I exercised (readiness record — NOT yet met)RED/GREEN. The contract test fails on The discriminator actually discriminates. The condition is a no-op unless the login
The fallback path is real, not assumed. The generated change is only "not lost" if What is NOT yet provenThe third acceptance criterion on #6832 — "a PR is observed going stale and then One honest caveat on the fallback: #4490 is the only historical instance I found and it Staying a draft until CI is green and a review lane has returned a green at this head. |
…flow golangci-lint's --fix pass removes this //nolint as unused, which fails the lint job under signed-fix-commits-disabled. autoCommitWorkflow only carries `jobs` and `steps` tags, so tagliatelle never fires on it. concurrencyWorkflow's directive is kept: that struct carries a genuinely kebab-case `cancel-in-progress` tag, so its suppression is live. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CI is fully settled green (67 pass, 8 skipped, 0 fail) and the branch is CLEAN against base. Opening the review lane. @coderabbitai review |
|
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review. 📜 Recent review details🧰 Additional context used📓 Path-based instructions (4)Use Go 1.26.1 or newer, matching the version declared in `go.mod`.📄 CodeRabbit inference engine (AGENTS.md) Files:
Generated files must not be hand-edited; run `make generate` as the canonical regeneration command.📄 CodeRabbit inference engine (AGENTS.md) Files:
Validate workflow changes with `mega-linter-runner -f go`; MegaLinter runs `actionlint` for GitHub Actions workflows.📄 CodeRabbit inference engine (AGENTS.md) Files:
Add regression tests for confident bug fixes and run flaky-test candidates repeatedly with `go test -run -count=10 ./...`.📄 CodeRabbit inference engine (AGENTS.md) Files:
🔇 Additional comments (2)
📝 WalkthroughWalkthroughThe CI workflow now prevents the PR-branch auto-commit step from running for Dependabot-authored pull requests. New test coverage parses the workflow, validates the Merge Risk: ⚪ Minimal · up to This change prevents generated-file commits from being pushed to Dependabot branches while preserving the protected-branch synchronization path. No current actionable merge risk remains. Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
Full details: Linked Issues checkExplanation The workflow change addresses the coding objective in Full details: Docstring CoverageExplanation Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 1 files. (1 skipped: 1 unsupported.) Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The earlier request hit the OSS review limit, which named a 7-minute reset; that window has elapsed, so re-requesting rather than spending a metered lane on a head the free lane can take. @coderabbitai review |
|
Your plan includes PR reviews subject to rate limits. Reviews are available now. |
The previous trigger drew only the rate-limit notice (which then reported the limit lifted) and no review followed in ~20 minutes, so that request was absorbed rather than queued. Re-requesting as a full review to also clear any incremental wedge. @coderabbitai full review |
|
✅ Action performedFull review finished. |
Readiness — all three conditions met at
|

Motivation
Dependency bumps keep getting stuck and needing a person to nudge them. GitHub takes
Dependabot's rebase ability away permanently as soon as anything else pushes to its
branch — and our CI was pushing a generated-file sync onto those branches. About half
of all Dependabot PRs were affected: as soon as any other PR merged, they fell behind,
auto-merge could never fire, and the usual "rebase this" remedy was refused. Because
the dependency queue has a cap on how many PRs can be open at once, the stuck ones sat
in that cap and throttled dependency intake generally.
Three PRs are stranded by this right now (#6839, #6845, #6826).
Change
CI no longer pushes the generated-file sync onto Dependabot's own branches, so
Dependabot keeps ownership and can rebase itself. The generated changes are not lost —
they land through the path we already have, which opens a sync PR once the bump has
merged.
Picks option 1 of the three the issue put forward. It is the only one that removes the
cause rather than reducing how often it bites, and the machinery it depends on already
exists.
Fixes #6832