Skip to content

account.spec.ts: mask the live "Created" timestamp causing CI flake - #116

Merged
Xore merged 2 commits into
mainfrom
fix/ci-signing-in-timestamp-flake
Aug 15, 2026
Merged

Xore merged 2 commits into
mainfrom
fix/ci-signing-in-timestamp-flake

Conversation

@Xore

@Xore Xore commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • The Theme CI workflow started failing on main after account.spec.ts narrow-viewport coverage + a11y fix (#113), login.spec.ts hover/focus/disabled/loading coverage (#114) #115 merged: the new mobile-390/iphone-393 account-signing-in.png baselines (generated locally) bake in the password credential's real "Created <timestamp>" line -- different every CI run against the disposable Keycloak fixture, and different again from whatever moment the baseline itself was captured. CI failed with an ~8000-pixel diff.
  • toHaveScreenshot now masks [data-testrole="created-at"] instead of asserting on it. All six baselines regenerated against a fresh disposable Keycloak.

Fixes the CI failures on https://github.com/Xore/auth-backend/actions/runs/31855102728 and the equivalent push-to-main run.

Test plan

  • Ran Signing in across all 6 projects against a freshly reset Keycloak (docker compose down -v && up, matching CI's own disposable-instance behavior) -- all pass.

Xore added 2 commits August 15, 2026 03:26
…screenshot

The Theme CI workflow started failing on main after PR #115 merged: the
new mobile-390/iphone-393 account-signing-in.png baselines (generated
locally) bake in the password credential's real "Created <timestamp>"
line, which reflects whenever that realm/user was actually provisioned
-- different every CI run against the disposable Keycloak fixture, and
different again from whatever moment the baseline itself was captured.
CI failed with an ~8000-pixel diff, entirely the timestamp string's own
length/wrap shifting the layout after it.

Mask [data-testrole="created-at"] instead of asserting on it -- its
exact value was never what this screenshot exists to verify. Regenerated
all six masked baselines against a fresh disposable Keycloak.
…90/iphone-393

The mask fix alone wasn't enough -- CI still failed with an ~8000-pixel
diff, but this time every glyph on the page showed as different in the
diff overlay, not just the (now-masked) timestamp region: my local
sandbox's font rendering doesn't produce pixel-identical text to GitHub
Actions' own Ubuntu runner, even for the same font files. A baseline
captured locally can never match CI's render for a text-heavy page like
this one.

Pulled the actual CI-rendered screenshots straight from the failed run's
playwright-report artifact (run 31856507193) and committed those as the
baseline instead of re-capturing locally. tablet-820/uhq-1920/uhd-3840's
signing-in baselines and every Applications baseline weren't flagged by
either CI run, so they're left alone -- this environment mismatch
apparently doesn't cross the 2% diff threshold for those, just this
particular text-dense page at these two narrower widths.
@Xore
Xore merged commit eb1f78c into main Aug 15, 2026
3 checks passed
@Xore
Xore deleted the fix/ci-signing-in-timestamp-flake branch August 15, 2026 01:41
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