feat(ci): add merge_group triggers for merge queue support - #551
Closed
coopernetes wants to merge 1 commit into
Closed
feat(ci): add merge_group triggers for merge queue support#551coopernetes wants to merge 1 commit into
coopernetes wants to merge 1 commit into
Conversation
Adds the merge_group event to the workflows that produce required status checks (ci.yml, codeql.yml, cve.yml, license.yml, docker-publish.yml) so they run against merge queue's temporary merge-group ref instead of stalling — a required check that never fires under merge_group blocks the queue entry indefinitely. Also: - Skip cancel-in-progress for merge_group runs in ci.yml and docker-publish.yml — cancelling a required check on a queued entry fails it and can force the whole batch to requeue. - Fix docker-publish.yml's GHCR login and attestation steps, previously gated on `github.event_name != 'pull_request'`, which would also evaluate true for merge_group and try to attest a digest from an image that was never pushed (push: is gated on `push`/`workflow_dispatch` only). Aligned both conditions to match. Companion change: the "Protect main & releases" branch ruleset still needs a merge_queue rule added (merge_method: MERGE, matching the repo's merge-commit-only setting) before merge queue is actually enabled — these workflow triggers are a no-op until that's done. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CS1Q91UoPppSFQ3ZiwFSuT
coopernetes
force-pushed
the
feat/merge-queue-workflows
branch
from
September 14, 2026 05:40
68ea4f9 to
9e97754
Compare
Member
Author
|
Abandoning, this adds a doubling of wait time for CI (it has to run twice on any PR in the merge queue). Since this project is still mostly single PR at a time, this is too much cost for too little benefit (batching dependabot PRs). Closing. |
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.
Summary
merge_groupto theon:triggers of every workflow that produces a required status check (ci.yml,codeql.yml,cve.yml,license.yml,docker-publish.yml) — without this, those checks never run against merge queue's temporary merge-group ref and a queued entry stalls forever.ci.yml/docker-publish.yml:cancel-in-progressnow excludesmerge_groupruns — cancelling a required check on a queued entry fails it and can force the whole batch to requeue.docker-publish.yml: fixes the GHCR login and image-attestation steps, previously gated ongithub.event_name != 'pull_request'(which also evaluates true formerge_group) — they'd try to attest a digest from an image that was never pushed, sincepush:itself is gated onpush/workflow_dispatchonly. Both conditions now match the push condition.These workflow triggers are a no-op until the "Protect main & releases" branch ruleset also gets a
merge_queuerule added. That's a repo-settings change (not a file in this repo) — still pending, planned as:merge_method: MERGE(matching the repo's merge-commit-only setting —allow_squash_merge/allow_rebase_mergeare already off)min_entries_to_merge: 1,max_entries_to_merge: 5,min_entries_to_merge_wait_minutes: 5,max_entries_to_build: 5,check_response_timeout_minutes: 60,grouping_strategy: ALLGREEN)pull_requestrule'sallowed_merge_methodsto["merge"]only, to match actual repo settingsThe tag ruleset ("Release gate") needs no changes — merge queue only affects how commits land on
main, not tag pushes, and since this repo is merge-commit-only, PR SHAs aren't rewritten so there's no risk to the tag ruleset's assumptions.Test plan
merge_queuerule, verify a real merge-queue run: required checks fire undermerge_group,docker-publish.yml's Build & Push job completes without attempting a spurious GHCR push/attest🤖 Generated with Claude Code
https://claude.ai/code/session_01CS1Q91UoPppSFQ3ZiwFSuT