Skip to content

fix(ci): approve Dependabot PRs so auto-merge can complete - #283

Merged
StuartMeeks merged 1 commit into
mainfrom
bugfix/dependabot-auto-approve
Aug 6, 2026
Merged

fix(ci): approve Dependabot PRs so auto-merge can complete#283
StuartMeeks merged 1 commit into
mainfrom
bugfix/dependabot-auto-approve

Conversation

@StuartMeeks

Copy link
Copy Markdown
Owner

🤖 AI-generated PR — Please review carefully.

Why

#281 restored the queuing half of auto-merge but not the merging half. #282 proved it in the wild: auto-merge enabled nine seconds after Dependabot opened the PR, every check green, statusCheckRollup: SUCCESS — and still BLOCKED, parked at reviewDecision: REVIEW_REQUIRED.

The main protection ruleset requires a code-owner approval, and #281's assumption that a ruleset bypass actor could merge without one was wrong. Bypass applies only to an interactive merge performed by that actor (gh pr merge --admin — which is how the earlier backlog got cleared). GitHub's auto-merge ignores bypass entirely and waits for every merge requirement, review included.

Approving #282 by hand settled it: the already-queued merge completed on its own three seconds later, with nothing else changed.

approval submitted 2026-08-06T13:11:08Z
merged, unattended 2026-08-06T13:11:11Z

What changed

Approve with AUTOMERGE_TOKEN before queuing the merge. CODEOWNERS makes @StuartMeeks the owner of every path, and GITHUB_TOKEN cannot stand in — the repository disallows Actions approvals (can_approve_pull_request_reviews: false) and github-actions[bot] is not a code owner.

The approval re-runs on synchronize, because the ruleset sets dismiss_stale_reviews_on_push and require_last_push_approval, so every Dependabot rebase needs a fresh one.

Also corrects the header comment from #281, which described the bypass behaviour incorrectly.

Review posture — please confirm you want this

Once this lands, patch and minor bumps merge with nobody reading them. That is what auto-merge means under this ruleset and there's no way to engineer around it, but it is a genuine change rather than a side effect of fixing a bug, so it should be a deliberate choice. The workflow header states it plainly rather than burying it.

Unchanged: majors still stop for review, and required checks are never bypassed — auto-merge continues to wait for build-test and validate-game-data, so a red build still blocks the merge.

Verification

actionlint 1.7.12 is clean on this workflow and on every other workflow in .github/workflows/.

Worth noting it earned its keep here: the first draft of the approve step was invalid YAML — the run: plain scalar contained "Automated approval: …", and the colon-space broke the parse, which would have disabled the entire workflow. It's a block scalar now.

No issue filed, per instruction.

#281 restored the queuing half of auto-merge but not the merging half.
PR #282 proved it: every check green, statusCheckRollup SUCCESS,
auto-merge enabled nine seconds after Dependabot opened it — and still
BLOCKED, sitting at reviewDecision REVIEW_REQUIRED.

The `main protection` ruleset requires a code-owner approval, and the
assumption that a bypass actor could merge without one was wrong. Bypass
applies only to an interactive merge performed by that actor
(`gh pr merge --admin`); GitHub's auto-merge ignores bypass entirely and
waits for every merge requirement, review included. Approving #282 by
hand settled it — the queued merge completed on its own three seconds
later, with no other change.

Approve with AUTOMERGE_TOKEN before queuing the merge. CODEOWNERS makes
@StuartMeeks the owner of every path, and GITHUB_TOKEN cannot stand in:
the repository disallows Actions approvals and github-actions[bot] is
not a code owner. The approval re-runs on `synchronize` because the
ruleset dismisses stale reviews on push and requires the approval to
follow the last push.

Patch and minor bumps now merge without a human reading them. That is
what auto-merge means here, but it is a real change in review posture,
so the workflow header states it plainly. Majors still stop for review,
and required checks are never bypassed — auto-merge continues to wait
for build-test and validate-game-data.

Also correct the header comment from #281, which described the bypass
behaviour incorrectly.
@StuartMeeks
StuartMeeks merged commit 4121d7c into main Aug 6, 2026
7 checks passed
@StuartMeeks
StuartMeeks deleted the bugfix/dependabot-auto-approve branch August 6, 2026 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant