ci: prepare checks for merge queue - #332
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s CI workflow so GitHub’s merge queue (merge-group) can trigger the required Actions checks, ensuring queued merge commits report the required status checks instead of waiting indefinitely.
Changes:
- Add
merge_group(checks_requested) as a workflow trigger. - Update the workflow job gate to allow CI to run when invoked by the
merge_groupevent.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
HAYDEN-OAI
left a comment
There was a problem hiding this comment.
One substantive merge-queue correctness issue identified: queue-branch push runs can cancel the only workflow run that reports the required merge-group check. Details and remediation are attached inline. The required-check aggregation, current main protections, and existing CodeQL PR/post-merge behavior otherwise match the stated rollout.
HAYDEN-OAI
left a comment
There was a problem hiding this comment.
Approved at c4a1f3215fe675b6626d69a194fa5c888e8b4f51. The new !gh-readonly-queue/** exclusion follows the positive ** branch pattern, so queue-ref pushes no longer create a competing run; merge_group: checks_requested remains the authoritative queue run and still produces the required ci / ci-required context. The existing Code Owner review, strict required check, linear-history/deletion/force-push protections, squash-only repository setting, bypass actors, and CodeQL PR/post-merge behavior are preserved.
The remaining Copilot thread is a false positive: GitHub Actions documents that dereferencing an absent context property evaluates to an empty string, not an error (contexts reference); additionally, the openai/openai-ruby repository predicates guard the Stainless-only property accesses. No substantive issues remain.
Summary
ci / ci-requiredjob to run for queued merge commitsWhy
GitHub requires Actions-based required checks to listen for the separate
merge_groupevent. Without this change, enabling the queue would leave queued pull requests waiting for a required check that never reports.Impact
Once the repository merge queue is enabled, CI will run again when an approved pull request enters the queue, validating it against the latest
mainand any changes ahead of it in the queue. The Stainless staging artifact path remains unchanged.Validation
git diff --checkFollow-up
After this lands, enable the
mainruleset merge queue with squash-only merging, all-green grouping, one PR per merge, five concurrent builds, and a 60-minute check timeout.