ci: support merge queues - #2711
Open
Charlesthebird wants to merge 3 commits into
Open
Conversation
A merge queue fires `merge_group`, not `pull_request`, so without this trigger the required checks never start and the queue stalls. The migration check also read `github.base_ref`, which is empty for a merge group. Signed-off-by: Nicholas Bucher <behappy54321@gmail.com>
Signed-off-by: Nicholas Bucher <behappy54321@gmail.com>
Collaborator
Author
Follow-up: enable the merge queueNeeds repo admin.
Release branches: merge #2712 and #2713 first. 🤖 written by Claude |
… ref down Each merge group has a unique ref name, so keying the buildx cache on it wrote a scope nothing reads again. The upgrade-from script derived the base branch on its own from the same empty variable, so it now receives the one the action resolved. Signed-off-by: Nicholas Bucher <behappy54321@gmail.com>
Charlesthebird
commented
Sep 4, 2026
Collaborator
Author
There was a problem hiding this comment.
This automated review is a first pass. A manual review will follow once the blockers are addressed.
Nothing blocks merge. Every check the main ruleset requires runs on merge_group, and the two places that read the PR base branch resolve it inside a queue. The queue itself still has to be switched on; the follow-up comment has the steps.
✅ What I checked
- ✅ All 11 required contexts in ruleset
defaultare job ids inci.yaml, with noname:overrides, and thebuildandpython-testmatrices produce the parenthesised names in the list. - ✅
ci.yamlleavesmerge_group:withoutpaths-ignore, so a docs-only group still reports the required checks instead of hanging the queue. - ✅ The
concurrencygroup falls through togithub.ref, which is unique per group and carriesevent_name, so PR and queue runs never cancel each other. - ✅
origin/<base>exists in afetch-depth: 0checkout becauseactions/checkoutfetches+refs/heads/*:refs/remotes/origin/*, and the merge base against it is the queued PR's parent onmain. - ✅ Both
${{ github.base_ref || github.event.merge_group.base_ref }}fallbacks return the old value onpull_request,pushandworkflow_dispatch, since therefs/heads/strip is a no-op on a bare branch name. - ✅
scripts/prev-stable-version.shreceivesCURRENT_REF, so it no longer re-derives the base branch from the emptyGITHUB_BASE_REF. - ✅ The push triggers in
ci.yamlandimage-scan.yamlfilter tomainandrelease/**, so the queue'sgh-readonly-queue/branch does not fire them a second time. - ✅ The two
pull_request_targetlabelers,image-scan,tagandstalebotnever run on a merge group and are not required checks. - ✅ A repo-wide grep for
pull_request,head_ref,base_ref,GITHUB_REFandgithub.eventfinds no other reader of PR-only context.
Findings, all fixed on the branch
upgrade-test-setupderived its base branch fromGITHUB_BASE_REF, empty in a queue, so release-branch groups ran the wrong upgrade legs. Fixed in5cc9a8a.prev-stable-version.shre-derived the same value on its own, which undid the action's fix onrelease/**. Fixed infa99e2a.BRANCH_CACHE_KEYused the group's unique ref name, so every group wrote twelve buildx cache scopes nothing reads again. Fixed infa99e2a.- The
base_reffallback inmigration-immutability.yamlhad no comment explaining therefs/heads/strip. Fixed infa99e2a.
🤖 written by Claude
This was referenced Sep 4, 2026
Charlesthebird
marked this pull request as ready for review
September 4, 2026 21:27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 written by Claude (start)
Release note
Changes
merge_groupevent, so a merge queue can use them.github.base_refis empty there.Backports
release/v0.10.xrelease/v0.9.x🤖 written by Claude (end)