ci: prepare checks for merge queue - #3574
Conversation
HAYDEN-OAI
left a comment
There was a problem hiding this comment.
Approved at 5099bfb9a017f8d71a705a79adebcc330cae6c8c.
All seven required GitHub Actions contexts are covered by merge_group: checks_requested: lint, build, test (Python 3.10), test (Python 3.14), test (HTTPX2), Python support policy, and detect-breaking-changes. Their job gates admit merge-group events, and breaking-change detection compares against the required github.event.merge_group.base_sha with full Git history.
The !gh-readonly-queue/** exclusion follows the positive ** pattern, preventing the competing queue-branch push run and the cancellation failure previously identified in openai/openai-ruby#332. Existing fork PR, Release Please/manual-dispatch, scheduled compatibility, CodeQL/code-quality, and privileged Stainless/PyPI behavior remains appropriately scoped.
The current main ruleset, required reviews and Code Owners, linear history, code-quality protection, all seven required checks, and both bypass actors remain intact; merge queue is correctly still disabled until the separate SQUASH / ALLGREEN / 5 concurrent builds / 1 PR per merge / minimum 1 / 60-minute activation. No substantive issues found.
Summary
gh-readonly-queue/**from ordinary push runsWhy
GitHub Actions required checks must subscribe to the separate
merge_group: checks_requestedevent before merge queue can be enabled. Without this prerequisite, queued pull requests can wait indefinitely for checks that never report.The queue-branch push exclusion makes the merge-group run authoritative and avoids duplicate queue-ref push runs.
Impact
Once the merge queue is enabled, required CI will run again when an approved PR enters the queue, validating the queued commit against the latest
main. Existing fork, Stainless staging, Release Please, schedule, and manual-dispatch behavior remains unchanged.The breaking-change check uses
merge_group.base_shafor queued commits while retaining the existing PR and manual base-SHA paths.Validation
git diff --check./scripts/lintFollow-up
After this PR lands, update the existing
mainruleset to enable the merge queue while preserving every existing protection and bypass actor, then independently read back the effective rules and live queue configuration.