Replies: 3 comments 1 reply
-
|
Findings: measuring the PR thrash this proposal targets
Agentic-conflict-resolution frequency. The unique feature we'd give up is the sentinel → dev-lead rebase path. I could not get a precise count: the trigger is an HTML-comment sentinel () that GitHub search doesn't index reliably. Most dev-lead PRs touch disjoint files (different issues), so hard conflicts are probably a minority — but the compliance / fleet-monitor PRs that all edit shared workflow files are the conflict-prone cluster. Worth instrumenting the sentinel with a counter before deciding how much we'd lose. Recommendation Regardless of plan / as an immediate, free mitigation: stop fanning out to all behind PRs. Restrict auto-rebase to PRs that are approved / review-ready (or just the oldest N at the front of the queue). Rebasing a PR that won't be looked at for two days only to re-stale it minutes later is pure waste — this single change would cut the bulk of the ~170–220 daily redundant CI runs without any plan upgrade or loss of the agentic fallback. Workflow-run timing was excluded — the runs endpoint returned an unfiltered firehose in this environment, so per-workflow CI durations weren't trustworthy; CI-run counts above are modeled from merge rate × concurrency, not scraped. |
Beta Was this translation helpful? Give feedback.
-
|
📋 Initiative planned by the BMAD Scrum Master (Bob). Epic #736 — Cut auto-rebase fan-out thrash: restrict to review-ready PRs + instrument the agentic-conflict-resolution rate 3 stories created (inert — labelled
Open questions for review:
Review the epic and its sub-issue DAG, adjust as needed, then add |
Beta Was this translation helpful? Give feedback.
-
Enhancement: Auto-Rebase vs. Merge Queue — Decision Criteria & Migration PathSharpened problem & goal Context
The health report data drives the break-even analysis: at what PR-merge-per-day volume does Merge Queue's batched CI outperform the current per-PR fan-out cost? GitHub Merge Queue and auto-rebase solve adjacent problems (Merge Queue serializes merging; auto-rebase keeps open PRs current) — the org may want both running simultaneously. This distinction is worth making explicit. Impact / Effort
Suggested acceptance criteria
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Auto-Rebase Workflow vs. GitHub Merge Queue
Overview
This discussion compares your current custom auto-rebase workflow (implemented in
.github/workflows/auto-rebase-reusable.ymlanddependabot-rebase-reusable.yml) with GitHub's native Merge Queue feature, which became generally available in 2024.Both solve the same fundamental problem: branch protection's "Require branches to be up to date" creates a serialization bottleneck where merging any PR makes every other open PR fall behind until manually updated and re-checked by CI.
How Each Works
Your auto-rebase workflow (triggered on every push to main):
PUT /pulls/{n}/update-branchwith merge methodGitHub Merge Queue (when PR added to queue):
merge_groupbranch: base + all PRs ahead in queue + this PRSide-by-Side Comparison
merge_grouptriggerKey Architectural Difference
Auto-rebase keeps branches recent. It checks "will this branch pass CI on current main?" — leaving a race window between "CI passed" and "PR merges" where another PR could land and change main again.
Merge Queue eliminates the race. It checks "does this branch become main?" by testing the actual merge_group. Under strict branch protection, the queue is the final arbiter — if CI passes on merge_group, the PR is guaranteed to merge without re-checking.
This is why Merge Queue scales: it batches PRs and tests them as one unit. If 5 PRs pass together as merge_group, all 5 merge atomically in order.
What You'd Lose by Switching
What You'd Gain
Recommendation
Not mutually exclusive. For your current setup (small team, free-plan private repos, agentic conflict resolution as a differentiator), auto-rebase is well-suited.
When to consider Merge Queue:
Coexistence scenario: Merge Queue handles the merge-time guarantee; auto-rebase continues as background maintenance. This hybrid approach is viable but adds operational complexity.
References
Beta Was this translation helpful? Give feedback.
All reactions