Skip to content

ci(cmux-next): the compile status read names its pull request, so a missed head gets a check - #29060

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
sr2help/compile-status-names-pr
Oct 31, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
sr2help/compile-status-names-pr

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Leo (2026-10-30): "but why is our shit for ui related things so slow still? ... like in the future how is somebody gonna contribute if shit takes 20+ minutes? we need 5 minutes no?"

Problem

On the last 50 landed feat-cmux-next PRs, 20 had a cmux-next/compile status: 14 were FAILURE, every one "No compile result for this head in 40 minutes". The fleet compile check is only queued when the controller sees the head's workflow run; a head whose run it missed had no check, so cmux-next fleet Release compile sat for 40 minutes and then went red (e.g. #28059, #28811, #28893, #28866, #28233). The same heads compiled in 4-8 minutes elsewhere on the same pool.

Change

The compile-status read adds pr=N (the PR number; empty on a push, anything that is not a number is dropped). The controller side, manaflow-ai/cmuxterm-hq#5571, queues the missing head's check once GitHub confirms it is that PR's open head, and the next read (the step already retries 404s every 30 s) blocks on it. An older controller ignores the parameter, so this lands in either order.

Performance

metric before after delta harness
compile statuses that time out with no check (last 50 landed PRs) 14 / 20 expected 0 -14 GraphQL statusCheckRollup of the 50 PRs; controller /v1/jobs
time to a compile verdict for such a head 40 min, red queue p50 0.1 min + pool compile p50 4.3 / p90 5.5 min + one 30 s retry about -35 min controller /v1/jobs, 1,307 tip checks, 2026-10-30 21:00Z to 10-31 06:20Z

Plan and the rest of the numbers: manaflow-ai/cmuxterm-hq#5572 ("PR signal in 5 minutes").

Tests

tests/test_ci_cmux_next_compile_status.py: a PR read names the PR; a non-numeric PR is dropped; push reads are unchanged. 7 tests pass. No Swift change, no Mac compile.

Agent session: agent session

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes cmux-next compile checks timing out when the controller never saw a pull request head's workflow run. The compile-status read now names its pull request, so the controller can queue the missing head's check instead of waiting 40 minutes to report "No compile result for this head". Heads that previously took 40 minutes and failed now get a compile verdict in about 5 minutes.

  • The read adds pr=N only when the event is a pull request with a numeric PR number; push reads and non-numeric PR values are unchanged.
  • Older controllers ignore the new parameter, so this ships regardless of controller deploy order.
  • Adds tests covering PR reads, non-numeric PR values, and unchanged push reads.

Written for commit 7b73246. Summary will update on new commits.

View guided diff Turn on auto-fix

…issed head gets a check

A pull request head whose workflow run the controller never saw had no compile check, and
`cmux-next fleet Release compile` waited its full 40 minutes to post "No compile result for this
head in 40 minutes": 14 of the 20 cmux-next/compile statuses on the last 50 landed feat-cmux-next
pull requests. The read now adds pr=N (a pull request number only; empty on a push), and the
controller (cmuxterm-hq#5571) queues the head's check once GitHub confirms it is that pull
request's open head. An older controller ignores the parameter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 7b73246: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr29060 -f ref=sr2help/compile-status-names-pr -f platform=macos -f backend_mode=local

Shipped in:

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 31, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 7b73246

SHIP at 7b73246

Visual verdict: no images; Leo tries the build

No findings. The focused suite passes all 7 tests, and the workflow parses as YAML.

Follow-ups: none

@blacksmith-sh

blacksmith-sh Bot commented Oct 31, 2026

Copy link
Copy Markdown

Found 3 test failures on Blacksmith runners:

Failures

Test View Logs
test_a_picked_signing_label_has_a_rerun_alternative (main.RunsOnFallbackTests.test_
a_picked_signing_label_has_a_rerun_alternative)/
test_a_picked_signing_label_has_a_rerun_alternative (main.RunsOnFallbackTests.test_
a_picked_signing_label_has_a_rerun_alternative)
View Logs
test_every_listed_hook_is_one_glaeda_released_with_the_check (main.SigningHooksInSt
epWithGlaedaTests.test_every_listed_hook_is_one_glaeda_released_with_the_check)/
test_every_listed_hook_is_one_glaeda_released_with_the_check (main.SigningHooksInSt
epWithGlaedaTests.test_every_listed_hook_is_one_glaeda_released_with_the_check)
View Logs
test_no_runs_on_chain_ends_on_the_reserved_side_label (main.RunsOnFallbackTests.tes
t_no_runs_on_chain_ends_on_the_reserved_side_label)/
test_no_runs_on_chain_ends_on_the_reserved_side_label (main.RunsOnFallbackTests.tes
t_no_runs_on_chain_ends_on_the_reserved_side_label)
View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo
teamleaderleo merged commit 7975c7a into feat-cmux-next Oct 31, 2026
149 of 162 checks passed
@teamleaderleo
teamleaderleo deleted the sr2help/compile-status-names-pr branch October 31, 2026 07:29

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 7b732462 Deployed Oct 31, 2026 by teamleaderleo via wait for same-key tree publisher #88107
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant