Skip to content

fix(cmux-next): finish the bundle removal in CI tests and routing - #18409

Merged
teamleaderleo merged 8 commits into
feat-cmux-nextfrom
fix/bundle-removal-fallout
Oct 7, 2026
Merged

teamleaderleo merged 8 commits into
feat-cmux-nextfrom
fix/bundle-removal-fallout

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

The bundle removal (6d523d4, from ce0b9e7) left three reds that hit every pull request's checks (run 37646119996):

  1. Companion workflows still ran the deleted tests/test_cmux_next_regenerate_bundles_workflow.py ("can't open file"). The step, both pull_request/push path filters and the test-execution registry now drop the test and its deleted workflow. A new guard fails when cmux-next.yml names a test or workflow that doesn't exist.

  2. tests/test_build_web_bundles_from.sh copied the committed bundles as its fixture ("cp: cannot stat Resources/markdown-viewer/webviews-app"). It never supplied the inspector bundle that --from now requires. It now runs a copy of build-web-bundles.sh in a scratch git repository with a synthetic prebuilt tree, so it never writes into the checkout's generated bundles or .web-bundles.key. It still covers install, stamp, --verify, refusal of an incomplete tree, and leaving the checkout alone after a refusal.

  3. Tier routing test_a_file_a_test_reads_selects_that_test expected only CmuxNextSettingsTests for a settings schema change. Since the bundles became build output, schemas/settings/* is a web-bundle input (BUNDLE_INPUTS), so the router also selects the bundle targets and the app, which is intended. The test now expects exactly that set.

  4. Webviews typecheck TS2307 in webviews/test/palette-ranker.test.ts: it imported the committed CmuxNextPalette/Resources/palette-ranker.js, which is now build output. The test now builds the bridge into a scratch directory with build-palette-ranker.sh --out and imports it from there.

The StringKey TS2345 errors (picker.enableHarness, harness.needsTrust and others) came from a stale committed generated/strings.json that the ask-gallery base merge (200e26a) brought in. The keys were still in Localizable.xcstrings, and 21df244 on base regenerated the table. This branch has that via one base merge, and gen-strings.mjs --check agentPane passes.

Not covered here: the checks job's cmux-tui fetch red ("tree ... was published without x86_64-unknown-linux-musl") is a separate base issue.

Testing

  • Red first at bc89e0b: ReferencedFilesExist failed listing .github/workflows/cmux-next-regenerate-bundles.yml and tests/test_cmux_next_regenerate_bundles_workflow.py. It passes at the head.
  • bun run typecheck in webviews failed on base f507bcd with the TS2307 above. On the merged head it reports no type errors in 1016 files. I didn't run the palette ranker bun test locally (no web test runs on that host); CI runs it.
  • At the head: tests.test_cmux_next_checks_workflow, tests/test_cmux_next_route.py, tests/test_cmux_next_route_replay.py, tests/test_ci_test_execution_registry.py and the other execution registry tests all report OK. tests/test_build_web_bundles_from.sh passes (it failed on base with the CI error). actionlint and shellcheck are clean.

Changelog

none

🤖 Generated with Claude Code


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


Note

Low Risk
Test and CI workflow fixes with updated routing expectations; no production runtime or auth/data-path changes.

Overview
Completes cmux-next CI cleanup after web bundles stopped being committed: every pull request was failing because companion workflows still invoked the deleted regenerate-bundles test and workflow.

CI wiring drops test_cmux_next_regenerate_bundles_workflow.py and cmux-next-regenerate-bundles.yml from path filters, the companion-workflows step, and test-execution.toml. A new ReferencedFilesExist guard in test_cmux_next_checks_workflow.py fails if cmux-next.yml names a missing test or workflow file.

Bundle-related tests no longer assume checked-in artifacts: test_build_web_bundles_from.sh runs build-web-bundles.sh in a scratch git repo with a synthetic tree (including inspector), and palette-ranker.test.ts builds the JSC bridge via build-palette-ranker.sh --out instead of importing palette-ranker.js from package Resources.

Tier routing updates the settings-schema case so changes under schemas/settings/* also select bundle-shipping Swift targets and the app, matching web-bundle inputs now that bundles are build output.

Minor webviews-only churn: gallery coverage allowlist entries, and formatting in ModelPicker.tsx / composerPickers.test.tsx.

Reviewed by Cursor Bugbot for commit 018bad7. Bugbot is set up for automated code reviews on this repo. Configure here.


Summary by cubic

Finishes the remaining cmux-next CI reds left by the bundle removal, including the Test webviews failures that surfaced once the format check passed.

  • Companion workflows no longer run the deleted regenerate-bundles test; a new guard fails when cmux-next.yml names a missing test or workflow, and path filters and the test-execution registry drop the deleted test and workflow.
  • test_build_web_bundles_from.sh runs a copy of build-web-bundles.sh in a scratch git repo with a synthetic prebuilt tree, so it never writes into the checkout's generated bundles or .web-bundles.key.
  • Because bundles are build output, schemas/settings/* is a web-bundle input: a schema change selects the bundle targets and the app alongside CmuxNextSettingsTests, and the routing test expects exactly that set.
  • palette-ranker.test.ts builds the JSC bridge into a scratch directory instead of importing the deleted committed palette-ranker.js. ModelPicker.tsx and composerPickers.test.tsx are reformatted so the react-apps format check passes.
  • Test webviews: ten components join the gallery allowlist; ModelPicker already has an entry, so its allowlist line is gone.

The separate cmux-tui fetch red ("tree ... was published without x86_64-unknown-linux-musl") is a base issue and not covered here.

Written for commit 018bad7. Summary will update on new commits.

View guided diff Turn on auto-fix

teamleaderleo and others added 2 commits October 7, 2026 08:54
…st (red)

The bundle removal deleted tests/test_cmux_next_regenerate_bundles_workflow.py
and cmux-next-regenerate-bundles.yml, but the Companion workflows step still
ran the test, so every pull request's checks went red (run 37646119996).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Companion workflows no longer runs the deleted
  tests/test_cmux_next_regenerate_bundles_workflow.py; the path filters and
  the test-execution registry drop it and its workflow.
- test_build_web_bundles_from.sh used the committed bundles as its fixture.
  It now runs a copy of build-web-bundles.sh in a scratch repository with a
  synthetic prebuilt tree (including the inspector --from now requires), so
  it never touches the checkout's generated bundles or stamp.
- The schema is a web-bundle input since the bundles are build output, so a
  schema change selects the bundle targets and the app with
  CmuxNextSettingsTests; the routing test expects exactly that set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: f265059e-481b-4c9d-9eaa-a7bc834dee94

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

teamleaderleo and others added 2 commits October 7, 2026 08:56
… importing a deleted bundle

palette-ranker.test.ts imported the committed palette-ranker.js, which is build
output since the bundle removal, so the webviews typecheck failed with TS2307
on every pull request. The test builds the bridge into a scratch directory
with build-palette-ranker.sh --out and imports it from there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Unclear: web / react-apps-check failed: no known signature; failed step: Test webviews. This PR merged before its CI finished: fix forward on main.

CI failed on 018bad7c01 (run 37665289364 attempt 1): 1 unknown.

Job Verdict Why
web / react-apps-check unknown no known signature; failed step: Test webviews

Not re-run automatically: web / react-apps-check is not a machine failure.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

teamleaderleo and others added 4 commits October 7, 2026 09:19
…r vp check

Both are unformatted on feat-cmux-next, which stops react-apps-check before
Test webviews runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Test webviews reds

With vp check green, Test webviews ran and failed on three base reds:
- the customized settings fixture gave agents.chats.roots ~/ paths, which
  its validator refuses (bd91097); it now gets absolute paths;
- ten components landed without a gallery entry (LockIcon, ProjectBadge,
  QuestionCard, ChatRootsEditor, MinimapTick, five PickerPrimitives); they
  join the allowlist until their owners add entries;
- ModelPicker has an entry now, so its allowlist line goes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
webviews/src/pages/settings/ is frozen (settings slot); the absolute chat
roots fixture lands separately once the token is free.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo
teamleaderleo merged commit 754e544 into feat-cmux-next Oct 7, 2026
49 of 55 checks passed
@teamleaderleo
teamleaderleo deleted the fix/bundle-removal-fallout branch October 7, 2026 18:19
teamleaderleo added a commit that referenced this pull request Oct 7, 2026
Picks up the bundle-removal CI fixes. The string catalog keeps base's text
and adds only this branch's keys.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 7, 2026
Picks up the bundle-removal CI fixes. The string catalog keeps base's text
and adds only this branch's keys.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 7, 2026
Carries feat-cmux-next 754e544 (#18409) down the stack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 7, 2026
Carries feat-cmux-next 754e544 (#18409) down the stack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 7, 2026
Carries feat-cmux-next 754e544 (#18409) down the stack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 7, 2026
Carries feat-cmux-next 754e544 (#18409) down the stack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 7, 2026
Carries feat-cmux-next 754e544 (#18409) down the stack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 7, 2026
* test: --from leaves the committed inspector page alone

2942c23 committed the optchat-chief inspector page again, and
build-web-bundles.sh --from never replaces it, but the --from test (from
#18409) still expected --from to install a built inspector. The web
bundles job has been red on feat-cmux-next since 754e544. The test now
gives the scratch repo a committed inspector page and checks --from keeps it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* ci: run cmux-next.yml when the --from test changes

The web bundles job runs tests/test_build_web_bundles_from.sh, but the
path filters did not list it, so a change to that test alone ran nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant