Repository navigation
ci: land main through GitHub's merge queue - #7613
Merged
Merged
Conversation
Bump quest to a main whose quest merge --land enqueues into GitHub's merge queue (moq-dev/quest#385), so Dependabot requests landing with the one-step command, and describe the merge queue, its self-hosted Queue build, and moq-dev/quest's queue watcher in place of the batched host gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tcher Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Quest-Claim: 2e40887b9da6ab8f
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
ℹ️ Minor suggestions only — a terminology gap, no functional impact.
Reviewed changes
- Quest pin bumped to
moq-dev/questmain (d003102129), whosequest merge --landenqueues into GitHub's merge queue while a base still requiresquest land;flake.nix/flake.lockcarry the rev and its newquest-pinned/nixpkgs-opencodeinputs. - Dependabot landing is now one step (
quest merge "$PR_URL" --land "$PR_HEAD"), its moq-bot token gainspermission-merge-queues: write, andsh/gh/queue.test.tsasserts the new invocation. I confirmedpermission-merge-queuesis a valid input on the pinnedactions/create-github-app-tokencommit. - Docs (CONTRIBUTING, README,
doc/setup/dev.md,infra/README.md,nix/runner/README.md,quest/m0/ci/*) describe the merge queue, itsQueuebuild, and the watcher in place of the batched host gate.
The cutover is coherent and internally consistent. No behavioral, API, or wire impact.
ℹ️ Comments outside the updated docs still name the removed landing machinery
The doc migration updates the files it lists, but a handful of comments now name the gate this PR removes (quest land serve, the "landing worker"). None affect behavior, but they point a reader at machinery that no longer runs.
Technical details
# Stale "landing worker" / "host land gate" / "host land daemon" comments
## Affected sites
- `.github/workflows/dependabot.yml:12` — "The host land daemon picks up the
head-pinned auto-merge moq-bot enables." After this PR, `quest merge --land`
enqueues into the merge queue (or arms GitHub auto-merge); the host runs the
queue watcher, not a land daemon. This is the only site in a file this PR
edits, and it contradicts the changed command two lines below.
- `justfile:99` — "The landing worker runs this gate in one job." -> the
self-hosted queue runner (`queue.yml`).
- `justfile:101-102` — "The host land gate also sets CHECK_FAIL_FAST=1" ->
`queue.yml` sets `CHECK_FAIL_FAST`.
- `justfile:105` — "Run the landing worker's Linux gate over the branch diff
against BASE."
- `.github/workflows/android.yml:3` — "which no landing worker does."
- `.github/workflows/cache.yml:3` — "independently of the landing worker's local
caches."
- `sh/kt/check.sh:39` — "the landing worker's persistent runner then keeps the
daemons".
## Required outcome
- Each comment should name the queue runner / `queue.yml` (or drop the removed
term), matching the wording this PR already uses in the docs.
## Notes
- `.github/workflows/queue.yml:39` ("as the host gate passed its own BASE") is a
historical comparison inside an unchanged file; reword only if you want the
rationale to age cleanly.
- `quest/m0/ci/*` (e.g. `five-minutes.md:55`, `nix-cache-5xx.md:14`,
`land.md`'s baselines) uses the old terms as deliberate history/measurements;
leave those.
- `test/drill/README.md:181` and the `nightly.yml` / `moq-sh.yml` / `alert.yml`
references use the generic "landing gate", which CONTRIBUTING still retains as
the section name; no change needed there.deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏
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.

Problem
mainstill lands through the batched host gate (quest land serve). The land quest moves it to GitHub's merge queue, one PR at a time, with moq-dev/quest's queue watcher fixing and re-enqueuing dropped PRs. moq-dev/moq#7612 added themerge_groupbuild (Queueon[self-hosted, moq-queue]).Approach
This is the repository half of the cutover. It lands right before the ruleset switches.
quest merge --landenqueues into GitHub's merge queue (moq-dev/quest#385) and still queues for the host gate while a base requiresquest land.quest merge "$PR_URL" --land "$PR_HEAD"(#326dropped the hold token).sh/gh/queue.test.tsasserts it. Its moq-bot token also getsmerge-queues: write, which the App now holds, so it can enqueue.doc/setup/dev.md,infra/README.mdandnix/runner/README.mdnow describe the merge queue, its self-hostedQueuebuild, and the watcher, in place of the batched gate.quest/m0/ci/land.md's Remaining drops the Dependabot item, says the host switches moq's daemon toquest land watch(watch = true), and notes that open PRs reportQueueonly after their next event.Impact
Alternatives
quest merge's arguments.Follow-ups
The cutover itself:
fix.md(the fixer and re-enqueue) lands.mainruleset requiresQueueand the merge queue (squash, build concurrency 1, merge limit 1), dropsquest land, and keeps only the administrator bypass.Checks
just check origin/mainpasses with the bumped quest: js, workers, gh (actionlint, zizmor,queue.test.ts,setup.test.ts), quest, shell, markdown and more.Review
quest review --base origin/main), gpt-6.1-sol, medium, session01a19a8d-7cb6-78a2-a23d-2d0218e60e86.86c0b28d8610b8504b518538f0763de65053a41a: no findings.6880079f302171e44775d8cfa51bb07665a0cef3(addspermission-merge-queues: writeto Dependabot's token): no findings.(Written by Claude Opus 5.5)
🤖 Generated with Claude Code