ci: start guards and web beside Fast static checks - #14176
Conversation
Fails on main: both calls need static-preflight, so the gate that admits macOS waits ~25 s longer than the checks themselves take. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
macos-admission-gate waits for every fast Linux job, and the guards finish last on every sampled PR run (the gate opened 117-133 s after changes). Both guards and web waited for static-preflight (~23 s) before starting. They now start with it. The gate and the macos call still require static-preflight to succeed, so macOS never starts on a diff the static checks reject; the cost is guard and web runner time on such diffs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 17 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
All contributors have signed the CLA ✍️ ✅ |
|
An independent review at 4f8a219 found no problems.
Auto-merge (squash) is on. I'll measure the gate's opening time on a few PRs after this lands. |
ff6c6dc ci: stop restoring an iOS GhosttyKit cache nothing saves (manaflow-ai#14189) 2827231 ci: seed DerivedData on the 12 vCPU macOS 26 pool (manaflow-ai#14188) ae46aa9 Let Computer Use toggles save past unrelated cmux.json issues (manaflow-ai#14183) a785270 test: fail loudly when portal rendering authority denies a fixture's tab id (manaflow-ai#13937) 9a1dea0 test: pin which terminal tabs get an agent mark after manaflow-ai#14062 (manaflow-ai#14177) 91bcb28 test: run the change-area tests in parallel workers (manaflow-ai#14193) 6d203e8 test: await the geometry publish in the equalize-splits shortcut case (manaflow-ai#13916) 48f1adf ci: balance the guard legs the macOS gate waits on (manaflow-ai#14186) 38117cd test: settle the split's reparent-focus suppression before focus feedback (manaflow-ai#14049) a12a0b8 ci: neutralize Swift sources without a per-character loop (manaflow-ai#14169) 2b6ca4c ci: stop counting queue time on cancelled jobs as runner minutes (manaflow-ai#14187) 2837f22 test: stop gating terminal focus on key status the app host cannot grant (manaflow-ai#13948) 23c0ce2 test: give each detect-step run its own cmux-ci scratch files (manaflow-ai#14185) a13ea28 ci: skip Mac lanes that bundled scripts and guard-only lints cannot fail (manaflow-ai#14179) b59f34f ci: restore Swift packages and a compilation cache for iOS uploads (manaflow-ai#14180) bcca243 profiling: poll child processes every 0.1 s instead of every second (manaflow-ai#14170) 76d6176 refactor: move 45 leaf browser files into CmuxBrowser (manaflow-ai#14092) bf13034 test: fail the Desktop drop fast instead of restarting the app host (manaflow-ai#14076) 51d486b ci: start guards and web beside Fast static checks (manaflow-ai#14176) # Conflicts: # .github/workflows/ci-guards.yml # .github/workflows/ci.yml # .github/workflows/ios-appstore-upload.yml # .github/workflows/ios-testflight.yml # .github/workflows/nightly.yml # .github/workflows/seed-derived-data.yml # .github/workflows/test-ios.yml
Summary
macOS compile admission starts only after
macos-admission-gate, and the gate waits for every fast Linux-only job. On every sampled pull-request run, the guards finished last. The gate opened 117–133 s afterchangesstarted:changesstatic-preflight)Both
guardsandwebneededstatic-preflight, so they waited for it before starting. They now start alongside it. On web PRs, web finishes after the guards (+133 s in one sample), so it moves too.This does not change what is admitted. The gate and the
macoscall still requireneeds.static-preflight.result == 'success', so macOS never starts on a diff that the static checks reject. The cost is guard and web runner time on such diffs, which are rare.Expected: the gate opens about 25 s sooner, which saves about 25 s on every PR that reaches macOS and on Linux-only PRs where guards are the slowest check.
Testing
needs: [changes, static-preflight]forguardsandweb. The guards test also asserts the gate still needsstatic-preflight. Both fail onmain.tests/test_ci_change_areas.pyandtests/test_ci_linux_guard_routing.pypass, includingtest_macos_admission_gate_needs_every_fast_linux_only_job, which derives the gate's needs.actionlintis clean.Related: #14169 (sidebar-layout leg) and #14170 (profiling leg) shorten two of the slow guard legs.
🤖 Generated with Claude Code
Summary by cubic
Starts
guardsandwebruns beside the fast static checks instead of waiting for them, opening the macOS admission gate about 25 s sooner. The gate still requiresstatic-preflightto succeed, so macOS still never starts on a diff the static checks reject—the only cost is runner time on such diffs, which are rare. Updates the tests that pinned the oldneeds: [changes, static-preflight]ordering and asserts the gate keeps its requirement.Written for commit 4f8a219. Summary will update on new commits.