Skip to content

Run hosted checks for merge-queue branch pushes - #806

Merged
Finesssee merged 3 commits into
mainfrom
ci/merge-queue-gate
Oct 11, 2026
Merged

Finesssee merged 3 commits into
mainfrom
ci/merge-queue-gate

Conversation

@Finesssee

@Finesssee Finesssee commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Why

We want to enable GitHub's merge queue on main. Queue builds push to gh-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: new Test-MainLikePushBranch (true for main, master, and any branch starting with gh-readonly-queue/). Get-TriggerGateDecision uses 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 budget off still skipping a queue push.
  • Docs: one-line updates in docs/adr/0005-...md and .github/CI.md describing which pushes run.
  • .circleci/config.yml is unchanged. Its when: already admits pipeline.event.name == "push", which is what queue pushes are.

Tests

  • pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/circleci-pr.tests.ps1 passed ("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 -PlanOnly prints a passing trigger gate and the full-checks message. codex/topic prints a skip. main runs.

Maintainer follow-up (after this merges)

Enabling the queue also needs two settings outside the repo, done by the maintainer:

  1. CircleCI: turn on the "Pushes to merge queues" trigger for this project. Without it, queue pushes get no pipeline and the queue cannot pass.
  2. GitHub: add a merge-queue rule on main.

Summary by CodeRabbit

  • Bug Fixes
    • Merge-queue pushes now run the full checks instead of being skipped as docs-only changes. Pushes to main and master continue to run checks, while other non-PR branch pushes remain skipped.

Treat gh-readonly-queue/ pushes like main/master: they run the checks and never take the docs-only skip. Add focused gate tests.
@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

⚙️ Run configuration
  • Configuration used: Repository: nesszer/Win-CodexBar/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 89af7321-ba7c-47cd-9705-66eb6cfb6eff

📥 Commits

Reviewing files that changed from the base of the PR and between 195b82b and 8bcc1e9.


You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: nesszer/Win-CodexBar/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: d92967a4-a234-4d8b-b2e9-4933b353ae0b


📥 Commits

Reviewing files that changed from the base of the PR and between 339fc22 and 195b82b.



📒 Files selected for processing (5)
  • .github/CI.md
  • docs/adr/0005-pr-check-moves-to-circleci-windows.md
  • scripts/circleci-pr-common.ps1
  • scripts/circleci-pr-gates.ps1
  • scripts/circleci-pr.tests.ps1


Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review.




📝 Walkthrough
📝 Walkthrough

Walkthrough

CircleCI now treats pushes to main, master, and gh-readonly-queue/ branches as checks that pass the scope gate and bypass docs-only evaluation. Updated guidance and tests describe and verify this behavior.

Changes

CircleCI push gate behavior

Layer / File(s) Summary
Classify merge-queue pushes and apply gates
scripts/circleci-pr-common.ps1, scripts/circleci-pr-gates.ps1, scripts/circleci-pr.tests.ps1, .github/CI.md, docs/adr/0005-pr-check-moves-to-circleci-windows.md
Test-MainLikePushBranch recognizes main, master, and branches beginning with gh-readonly-queue/. The scope gate skips other pushes, and main-like pushes bypass docs-only evaluation. Tests and guidance cover the branch rules and gate decisions.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix



Merge Risk: ⚪ Minimal · up to 195b8

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 | Passed 8
✅ Passed checks (8 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title is a short imperative summary that directly describes enabling hosted checks for merge-queue branch pushes.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Provider Data Stays Siloed Passed The pull request changes CircleCI branch gates, tests, and documentation only. The diff adds matching for main, master, and gh-readonly-queue/; it does not handle provider identity, plan, accoun…
Secrets Handled Safely Passed The pull request changes branch-gate logic, documentation, and tests only. The added code logs branch names, gate reasons, and fixed status text; it does not log tokens, cookies, API keys, OAuth crede…
No Unapproved Dependencies Passed The pull request changes only CI documentation, PowerShell scripts, and tests. It does not change any Cargo.toml, package.json, npm/yarn lockfile, or pnpm lockfile. The pnpm packageManager value remai…
Ui Changes Include Windows Proof Passed PASS: The pull request changes CI documentation, PowerShell gate logic, and focused tests only. It does not change files under the desktop UI, tray rendering, float bar, settings, or window chrome. Th…



✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR



  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Finesssee
Finesssee merged commit 44d5de3 into main Oct 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant