Skip to content

fix: render local UI test artifacts - #17854

Closed
azooz2003-bit wants to merge 3 commits into
feat/terminal-image-paste-previewfrom
fix/ui-test-local-artifact
Closed

azooz2003-bit wants to merge 3 commits into
feat/terminal-image-paste-previewfrom
fix/ui-test-local-artifact

Conversation

@azooz2003-bit

Copy link
Copy Markdown
Collaborator

What changed

scripts/ui-test now recognizes a local ui-frames directory as review input instead of treating its path as a new test selector. e2e-frames.py loads the existing steps.md manifests directly and can copy them to --out, so downloaded or handoff artifacts can be opened in the static UI mirror without another CI dispatch or native toolchain.

This is stacked on #15853.

Changelog

  • Changed: let scripts/ui-test render already-downloaded UI test artifacts locally.

Validation

  • python3 tests/test_ui_test_local_artifact.py (regression: red on the first commit, green after the fix)
  • python3 tests/test_ui_mirror.py
  • python3 tests/test_ci_e2e_compilation_cache.py
  • python3 tests/test_run_e2e.py
  • python3 scripts/verify-local.py --affected feat/ui-iteration-mirror --timeout 180 (14/14 checks passed)
  • bash -n scripts/ui-test
  • python3 -m py_compile scripts/ci/e2e-frames.py tests/test_ui_test_local_artifact.py
  • git diff --check

No Xcode, Swift compiler, native app build, app launch, or restart was run.


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


Summary by cubic

Makes scripts/ui-test render already-downloaded UI test artifacts locally, so copied ui-frames directories can be reviewed without dispatching another CI run or needing the native toolchain.

  • scripts/ui-test now treats an existing path argument as a local artifact instead of a test selector, and e2e-frames.py reads the artifact's steps.md manifests and can copy them to --out.
  • Adds scripts/ci/ui-mirror.py, which builds a static interactive index.html plus a machine-readable mirror.json next to the frames; CI now uploads and links these.
  • Reports the interactive mirror artifact URL in the E2E job summary.

Written for commit 6799c22. Summary will update on new commits.

Review in cubic


Migrated from #15870 after correcting the PR author identity. The head branch and commit history are preserved.

@coderabbitai

coderabbitai Bot commented Oct 6, 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: a5ab6447-8fd3-4c2f-974d-c8dd216fff9a

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.

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Unclear: guards / workflow-guard-tests / preflight failed: no known signature; failed step: Validate Python test execution registry. CI was cancelled before it finished.

CI stopped on 6799c228e1 (run 37524800872 attempt 1): 1 unknown.

Job Verdict Why
guards / workflow-guard-tests / preflight unknown no known signature; failed step: Validate Python test execution registry

Not re-run automatically: guards / workflow-guard-tests / preflight 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.

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.

2 participants