ci: enforce committed Linux visual baselines - #508
Draft
bntvllnt wants to merge 5 commits into
Draft
Conversation
|
ntk preview
Built from |
bntvllnt
marked this pull request as ready for review
September 5, 2026 00:00
bntvllnt
marked this pull request as draft
September 5, 2026 00:13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restores a real visual regression gate independently of Native PR #506.
mainat38db630without component source edits; replace 34 obsolete platformless snapshots.--update-snapshots=noneinstead of silently overwriting expectations.pnpm cleanand document deliberate Linux refreshes.Evidence for HEAD
5c0ff29Latest follow-up removes the PrimarySourceViewer fixture's dependency on placehold.co: the equivalent inline SVG produces a byte-identical existing baseline, and the test waits for its 800px intrinsic width. A synthetic PR506+PR508 comparison exposed the network flake (304 passed, one unloaded image). The fixed fixture passed 3/3 repeated strict comparisons, no retries or tolerance changes. Full visual CI at HEAD passed, as did E2E, Storybook build/tests, CodeQL and React Doctor. Quality Gates also passed; all GitHub Actions code/test gates are green. Preview remains blocked: the earlier image-attestation HTTP429 was superseded by a newer attempt reporting registry and Storybook build failures (exit1). Retrieving bounded preview logs with
ntk logs ui --pr 508 --tail 60 --json --no-inputfailed:convex token failed (404) — try ntk login. Root cause of the newer build failures is not established; restore authenticated log access before retrying. PR stays draft; no deployment retry was attempted by this session.Synthetic integration of PR506@63856b8 + this HEAD is conflict-free and passed 305/305 strict Linux visual tests (3.2m), with
--workers=1 --retries=0 --update-snapshots=none. Synthetic commit4f3efa5, tree05e0c77e728b969e42e1ca3de15d9c0d48c14657; all shipped source and lockfile match PR506 and all baselines/config match this PR. This does not claim an exact-head PR506 CI result.maincomponent sources under the pinned Fontconfig setting. All 18 before/after pairs reviewed (AnimatedText, BottomActivityStrip, Button, BorderBeam, Banner, Badge). The other 278 screenshots are unchanged. No CI failure actual was copied into expectations.pnpm -F @vllnt/ui test:visual --workers=1 --retries=0 --update-snapshots=none— 305 passed, no retries (3.8m).47fa759and passed (1,671 UI + 47 registry tests). Registry drift/i18n/MDX and story coverage/required-prop checks passed.5c0ff29: 100/100, no issues.47fa759: 305 passed (1.1m), no retries used, withpnpm test:visual --workers=2 --update-snapshots=none. Comparison job.47fa759checks passed: Quality Gates, E2E, Storybook build/tests, story verification, React Doctor, CodeQL, issue link and ntk preview. Quality/E2E run, Storybook/visual run.Boundaries
No shipped component logic/styles changed. Existing 2% screenshot tolerance is unchanged. No CI snapshot updates. Layout screenshots use reduced motion; behavior/accessibility/device tests remain separately necessary.
Closes #507
Related to #506