Screenshot comparison in CI #65

Closed
opened 2026-10-17 17:54:17 +00:00 by littlefox · 1 comment
Owner

Today screenshots are looked at by eye. With a phone layout (#50) and four themes (#56), a layout regression would easily slip past.

What:

  • Playwright's toHaveScreenshot for key screens: login, unread list, reading a text, composer, settings, at each project size from the phone-size issue.
  • The devserver seed and a fixed clock and font keep the images stable.
  • Updating baselines is a deliberate step (tools/e2e.sh --update-snapshots), reviewed in the PR.

Done when:

  • A changed layout fails CI with a diff image in the job's artifacts.
  • Ten runs in a row of an unchanged tree are green (no flakes).

From docs/ROADMAP.md, "Under the hood"; filed for 0.2.

Today screenshots are looked at by eye. With a phone layout (#50) and four themes (#56), a layout regression would easily slip past. What: - Playwright's `toHaveScreenshot` for key screens: login, unread list, reading a text, composer, settings, at each project size from the phone-size issue. - The devserver seed and a fixed clock and font keep the images stable. - Updating baselines is a deliberate step (`tools/e2e.sh --update-snapshots`), reviewed in the PR. Done when: - A changed layout fails CI with a diff image in the job's artifacts. - Ten runs in a row of an unchanged tree are green (no flakes). From docs/ROADMAP.md, "Under the hood"; filed for 0.2.
Author
Owner

Merged in #89, made order-independent in #87: _visual.spec.ts runs first in each profile on the freshly seeded server; login, reading, writing and the palette against references per profile. CI renders identically to local runs (run #161 passed the comparisons). Update: tools/e2e.sh _visual --update-snapshots.

Merged in #89, made order-independent in #87: _visual.spec.ts runs first in each profile on the freshly seeded server; login, reading, writing and the palette against references per profile. CI renders identically to local runs (run #161 passed the comparisons). Update: tools/e2e.sh _visual --update-snapshots.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
littlefox/neokom#65
No description provided.