Repository navigation
Run hosted checks for merge-queue branch pushes - #806
Conversation
Treat gh-readonly-queue/ pushes like main/master: they run the checks and never take the docs-only skip. Add focused gate tests.
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to No actionable merge-blocking risk is apparent in the reviewed changes; the merge-queue trigger must still be enabled in CircleCI as documented. Pre-merge checks |
|
Why
We want to enable GitHub's merge queue on
main. Queue builds push togh-readonly-queue/main/pr-<N>-<sha>with no PR URL. The hosted trigger gate skipped every non-PR, non-main branch push and reported the check as passed, so a queue build would have been merged without running the checks.What changed
scripts/circleci-pr-common.ps1: newTest-MainLikePushBranch(true formain,master, and any branch starting withgh-readonly-queue/).Get-TriggerGateDecisionuses it, so queue pushes run the checks. The budget gate (CI_BUDGET_MODE=off) is unchanged and still wins.scripts/circleci-pr-gates.ps1: the docs-only gate uses the same predicate. Queue pushes never take the docs-only skip (they have no PR base SHA, so this makes the intent explicit rather than relying on the fail-open path).scripts/circleci-pr.tests.ps1: cases for a queue push running, a non-PR topic branch still skipping, a branch that only contains the queue prefix mid-name still skipping, and budgetoffstill skipping a queue push.docs/adr/0005-...mdand.github/CI.mddescribing which pushes run..circleci/config.ymlis unchanged. Itswhen:already admitspipeline.event.name == "push", which is what queue pushes are.Tests
pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/circleci-pr.tests.ps1passed ("CircleCI focused tests passed.").powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/circleci-pr.tests.ps1(Windows PowerShell 5.1) passed.CIRCLE_BRANCH=gh-readonly-queue/main/pr-805-abc scripts/circleci-pr-gates.ps1 -PlanOnlyprints a passing trigger gate and the full-checks message.codex/topicprints a skip.mainruns.Maintainer follow-up (after this merges)
Enabling the queue also needs two settings outside the repo, done by the maintainer:
main.Summary by CodeRabbit
mainandmastercontinue to run checks, while other non-PR branch pushes remain skipped.