ci(next): a superseded feat-cmux-next push still gets its Release compile
Summary
feat-cmux-next pushes compile nothing. push-head-preflight marks a push superseded once the branch has moved, and every Mac job then skips. Merges land about once a minute, so nearly every push is superseded before its preflight runs. Of 40 sampled base pushes (2026-10-21), none ran the Release compile: 28 skipped it and 12 have no check. A base compile break (#22764, palette familyRow) therefore showed up only as reds on other PRs, and no green compile requested nightly-next.
The Release compile now runs on every feat-cmux-next push, current or not.
- One per push, superseded ones cancelled: the job's existing concurrency group (
cmux-next-push-<ref>-release-compile, cancel-in-progress false) keeps one compile running and the newest push waiting. GitHub cancels a waiting job when a newer one queues. - Low priority: push attempt 1 takes
vars.CI_NEXT_PROMOTE_POOL, the reserved promotion mini, so no PR waits on it. - Visible: a red compile marks that commit red, and
push-attributioncomments on the PRs in its range. - nightly-next:
request-nightly-next.shalready skips a commit nightly-next contains, so promotion can't go backwards.
Every other Mac job still skips superseded pushes.
Changelog
none
Observed / Not run
- New test:
test_a_superseded_base_push_still_compiles_one_at_a_timefails on the base workflow (False is not true) and passes on this head. Its class,ReleaseCompileOnCmuxNextSwiftPullRequests, passes all 6 tests, run on cmux16. - Whole file:
tests/test_cmux_next_checks_workflow.pyhas 111 tests. TwoPushPreflightBehaviortests fail on cmux16 at both base and head, because macOS has notimeout; Linux CI has it. - Pre-push gate: no new violations.
- Not run: a real push run. The first feat-cmux-next push after merge is the proof.
Agent session: cosmic-gray
๐ค Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Makes the Release compile run on every feat-cmux-next push, including ones already superseded by a newer push at preflight time. Previously the compile skipped superseded pushes, and since merges land about once a minute that meant almost no base push compiled โ 0 of 40 sampled pushes (2026-10-21) โ so a base compile break showed up only as reds on other PRs and never requested nightly-next.
Behavior
- The job's concurrency group keeps one compile running and the newest push waiting; GitHub cancels a waiting job when a newer one queues.
- The job takes the reserved promotion runner, so it competes with no pull request.
- A red compile marks that commit red and
push-attributionnames the PRs in its range;request-nightly-nextalready skips committed work, so promotion stays monotonic. - All other Mac jobs still skip superseded pushes.