Skip to content

[visual spike] Deliberate text layout change - #2

Open
robhogan wants to merge 3 commits into
mainfrom
visual-spike/text-regression
Open

robhogan wants to merge 3 commits into
mainfrom
visual-spike/text-regression

Conversation

@robhogan

@robhogan robhogan commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Phase 0 spike test: narrows the text width mode example's items from 120 to 100 so the wrapping changes. The visual checks are expected to fail and link to a report.

Phase 0 spike for RNTester visual regression testing in public CI: capture cropped screenshots in an untrusted workflow, then compare, report and publish baselines from a trusted workflow that treats the captures as inert data. Baselines and reports live in object storage, not Git.

**Changes**

- Visual flows under `packages/rn-tester/visual-tests/`, starting with the wrapped text width mode example. They deep-link to the example and capture with `takeScreenshot`, so Maestro never decides pass or fail.
- `Visual Capture RNTester` builds RNTester Release, captures on an API 35 emulator and an iPhone 17 Pro iOS 26.2 simulator, and uploads PNGs plus a manifest recording the commit and device environment.
- `Visual Compare RNTester` runs on `workflow_run` from the default branch. It validates the artifact, finds the baseline for the base commit or its nearest ancestor with one, compares with pixelmatch (strict by default, per-test overrides in `config.json`), uploads the report and sets check runs. On pushes to `main` it publishes write-once baselines keyed by environment and commit.
- `Visual Approve RNTester` records a maintainer's `visual-change-approved` label against a fingerprint of the exact differences, so a later push with different differences needs a new approval.
- `maestro-android.js` and `maestro-ios.js` forward `VISUAL_OUTPUT_DIR` to Maestro when set.

Changelog: [Internal]
@robhogan robhogan added the visual-change-approved Maintainer approval of a PR's visual differences label Oct 7, 2026
@github-actions github-actions Bot removed the visual-change-approved Maintainer approval of a PR's visual differences label Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

The visual differences changed in 853de823dd12, so visual-change-approved was removed. Review the new report and apply it again to approve.

@github-actions

Copy link
Copy Markdown

Visual regression

2 visual difference(s) at 853de823dd12. Visual differences need maintainer approval. Review the report, then apply visual-change-approved.

android text/width-mode/default: Size changed, 320×172 → 320×200

Expected and Captured
Expected Captured
expected captured

ios text/width-mode/default: Size changed, 1206×489 → 1206×576

Expected and Captured
Expected Captured
expected captured

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