diff --git a/quest/m0/ci/README.md b/quest/m0/ci/README.md index 22e65a862d1..08e68b8c0c8 100644 --- a/quest/m0/ci/README.md +++ b/quest/m0/ci/README.md @@ -15,12 +15,12 @@ or nightly run; measured low-value redundancy may be retired. Measured 2026-10-13 from the org billing API (Oct 1-13, all moq) and a 1-in-4 sample of job timings: -| Runner | Minutes | List price | -|---|---|---| -| macOS | 33k | $2,066 | -| ARM Linux | 98k | $492 | -| Windows | 34k | $344 | -| x86 Linux | 30k | $178 | +| Runner | Minutes | List price | +| --------- | ------- | ---------- | +| macOS | 33k | $2,066 | +| ARM Linux | 98k | $492 | +| Windows | 34k | $344 | +| x86 Linux | 30k | $178 | Public repositories are not billed, but the org is capped at 60 concurrent hosted jobs and 5 macOS jobs (Team plan), and that macOS cap is the queue. @@ -153,6 +153,7 @@ The historical samples locate candidates; they are not controlled benchmarks. - [Read-only pull-request CI](/quest/m0/ci/read-only-secrets.md) - write secrets and publisher identities reach only protected branches and tags, never a pushed branch - [Land main through quest land](/quest/m0/ci/land.md) - a host daemon tests small batches of queued PRs once and lands each as its tested squash commit +- [Pin a quest that re-pins a queued PR](/quest/m0/ci/quest-pin.md) - `quest merge --land` moves an already-queued PR's pin to its new head - [A cache error is a miss](/quest/m0/ci/nix-cache-5xx.md) - a transient `nix.moq.dev` 5xx no longer fails `just ci` - [Every io_uring test in the io-uring group](/quest/m0/ci/io-uring-test-group.md) - the parallel tests of one `just ci` stop exhausting the shared `RLIMIT_MEMLOCK`, and a too-low limit fails clearly - [Cheap checks skip the queue](/quest/m0/ci/gate-quick.md) - condition: quest ships `quest gate --quick`; then cheap modules wait at most a minute diff --git a/quest/m0/ci/quest-pin.md b/quest/m0/ci/quest-pin.md new file mode 100644 index 00000000000..c795175bf23 --- /dev/null +++ b/quest/m0/ci/quest-pin.md @@ -0,0 +1,27 @@ +# [XS] Pin a quest that re-pins a queued PR + +## Goal + +moq's dev shell runs a moq-dev/quest whose `quest merge --land +` moves an already-queued PR's `Quest-Land-Head` pin to the new head. +Merge sessions that run from this shell then never leave a stale queue entry +for the gate to reject. Check it by re-pinning a queued PR and reading its +auto-merge commit body. + +## Plan + +Decided 2026-11-01 (user, /quest-plan of the follow-ups from a moq-dev/quest +/quest-complete session): + +- ✅ Plan the bump as its own quest: a pin bump that unblocks work is its own + quest. +- The pinned quest (`7a191e6`, reporting 0.1.0) left + [moq-dev/quest#290](https://github.com/moq-dev/quest/pull/290) and + [moq-dev/quest#319](https://github.com/moq-dev/quest/pull/319) queued on + their old heads after a push, and each needed a manual requeue. +- Bump `inputs.quest` in `flake.nix` to a current moq-dev/quest main. A newer + quest also brings the land fixer's prompt and `quest merge --land` fixes. + +## Related + +- [Cheap checks skip the queue](/quest/m0/ci/gate-quick.md) - also waits on a pin that includes `quest gate --quick`