Repository navigation
ci: feat-cmux-next pushes run the web checks and cmux-next checks again - #22205
Conversation
…ush (red) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…le push cmux-next-web.yml lost its push trigger on 2026-10-10 (cx-g34i). Since then a web red a direct push brings goes unseen until a pull request trips over it, and a pull request's new web red passes as a base red because the base has no web run to compare with (#20633 merged a new lint red next to the eager JS budget red). The trigger is back with no paths filter: ci-web's scope job now routes from everything the push brought (event.before), not its last commit, so a push with no web path runs only the scope and status jobs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Unclear: CI failed on
Not re-run automatically: Written by red: web / Web status; do not merge until green; see lane-rules |
[Medium impact] The PR appears safe to merge; no blocking issue was found. SummaryRestores web checks and
Diagram%%{init: {'theme': 'neutral'}}%%
flowchart TD
Push[Push to feat-cmux-next] --> Web[cmux-next web]
Push --> Checks[cmux-next checks]
Web --> Base{Push base available?}
Base -->|Yes| Diff[Classify push_base to HEAD]
Base -->|No| All[Run every web subarea]
Diff --> Selected[Run selected web checks]
Reviews (2) · Last reviewed commit: "ci: feat-cmux-next pushes run cmux-next ..." · Reviewed by Greptile |
…tchable push base Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
FYI @lawrencecchen: this partly reverses cx-g34i (10-10). feat-cmux-next pushes run the web checks and 🤖 Generated with Claude Code |
Every push to feat-cmux-next runs ci-web's checks (
web / react-apps-check, typecheck, tests) and thecmux-next checksjob again, under the same check names a pull request gets. Routing now covers everything the push brought, not just its last commit.Why
On 2026-10-10, cx-g34i removed this workflow's push trigger ("push CI is the Swift build only"). Since then, nothing has run the web checks on the base:
react-apps-checkfail.react-apps-checkred: the merger read it as the known eager-JS-budget red, but the job had also failed at the lint step on the PR's own new test. Every webviews PR's lint then went red, and fix(next): clear the webviews type-scale, text-focus and vp fmt base reds #22118 fixed it.What changed
cmux-next-web.yml: apushtrigger on feat-cmux-next, with no paths filter. A path list here would drift fromweb_subareas.py.ci-web.yml: a new optional input,push_base(the push'sevent.before). The scope job fetches that commit and routes frompush_base..HEAD. Pull requests leave it empty and route from the merge commit, as before.web_subareas.py route: honorsWEB_SUBAREAS_BASE. If it can't resolve the base (a new branch's zero SHA, or a base GitHub won't serve), it runs every subarea and writes a::warning::.cmux-next.ymlchecksjob (god files, concurrency, crash safety, l10n): it runs on feat-cmux-next pushes again. cx-g34i had excluded them, so its reds also went unseen until a PR hit them. It is a 10-minute Linux job.Cost
A push that touches no web path runs two small Linux jobs: the scope job and
web-status. This is the push volume cx-g34i was protecting, and those pushes cost little now. A webviews push runs the same lanes a webviews PR does. Concurrency is per SHA, so a later push doesn't cancel an earlier verdict that base-aware excusal reads.Testing
tests/test_cmux_next_web_base_push.pyis committed red first, in its own commit, then fixed:push_baseinput, a multi-commit push routed from its last commit only, and the checks job excluded on push);Observed / Not run
tests/test_ci_change_areas.py(227 passed),tests/test_cmux_next_checks_workflow.py(77 passed), the route, route-replay, next-batch and generated-catch-up tests,test_web_validation,test_webviews_tests_per_file,test_cmux_binaries_prune,test_web_bundle_key_inputs.sh,test_ci_self_hosted_guard.sh, and actionlint on both workflows.tests/test_ci_workflow_run_sources.py("ci.yml has no tests job"), identically without this change.workflow_dispatchrun on this branch is linked below.Review: subagent at db9e05d, no blockers (zero or force-push base, callers, push-sensitive steps, cost, test, body). I applied its minor points (a
::warning::on an unfetchable base, and wording) in 0927e1b.Runtime test: https://github.com/manaflow-ai/cmux/actions/runs/39341605218 (workflow_dispatch of cmux-next-web.yml on db9e05d). Every web lane ran. The two
react-apps-checkshards failed atcheck:browser-lanesontest/agent-pane-older-rows-fade.test.ts, the base red #22118 is fixing. That is the base red this workflow now shows on the base itself.Changelog
none
🤖 Generated with Claude Code