CI on quarry changed shape between 2026-10-01 and 2026-10-06. The aim: test each change once, as the merge it will become, and never land on a verdict that no longer describes trunk.
One run per change
A change used to be tested up to three times: the branch tip on push, the merge when a landing opened, and trunk's merge check-in after the accept (!795). Now a push to a branch with an open landing tests the merge with its target, and trunk inherits that verdict when the merge it records is the one that was tested. A trunk row that inherits takes a few seconds instead of a full run.
A verdict is only good for the trunk it tested
On 2026-10-03 four landings were accepted within a minute, each tested against the same old trunk, so their combination was first tested on trunk after it had landed. A merge verdict now counts only while the target is where it was tested, or moved only by work that verdict already covered (!825). A stale green shows on the landing and blocks the accept. An armed "Land when green" landing re-runs its stale merge once per target tip, and lands when that is green (!838).
Faster, and harder to lose
- The race step races only what a branch changed (!843). Trunk still races everything, so a race reached only through a dependency is caught there. A web-only change now races one package instead of five.
- Runners run tasks of one type side by side (!818) in numbered workspaces, instead of queueing every race check behind one lock.
- A run stuck mid-step ends as an error and is tested again (!817), after the CI engine lost claimed tasks on 2026-10-02 and left landings pending forever.
- A newer check-in's run is never cancelled by an older one arriving after it in the same push (!824).
- Scheduled workflows fire (!812): quarry runs
on: scheduleitself, from the default branch's tip, at most once per minute per workflow. - CI jobs get their own credentials (!809): a run token scoped to the run, its repository and the workflow's declared
permissions:. The release workflow publishes with one.
Accepting a landing still takes several seconds of quarry's own work; each phase is now timed in the log (!814), and the slow one is the next fix.