Skip to content

ci(web): visual guards — smoke test WebGL assertion + baseline generation workflow - #14

Merged
rtkelly13 merged 1 commit into
mainfrom
ci/visual-guards
Aug 1, 2026
Merged

ci(web): visual guards — smoke test WebGL assertion + baseline generation workflow#14
rtkelly13 merged 1 commit into
mainfrom
ci/visual-guards

Conversation

@rtkelly13

Copy link
Copy Markdown
Owner

Follow-ups from the maze.ryankelly.dev text-rendering regression (see #13), so a boots-but-illegible build can never pass CI again.

1. Smoke test now asserts a clean WebGL upload path. The 4.7.1 build passed the smoke test while rendering every glyph as a garbled box — the only machine-readable signal was console spam of WebGL: INVALID_OPERATION: texImage2D…. The smoke test now collects those and fails after boot. Verified against both live deploys: ❌ fails on current (broken) production, ✅ passes on the 4.7.0 build at preview-maze.ryankelly.dev.

2. visual-baselines.yml — one-click dispatch that runs the existing (dormant) visual suite on ubuntu-latest with --update-snapshots against any deployed URL and uploads the PNGs as an artifact. This unblocks the documented procedure in docs/VISUAL_REGRESSION.md: baselines must be Linux-generated to match CI, and the web build can't be produced locally.

Remaining steps to fully enable visual regression (after #13 merges and prod is healthy):

  1. Dispatch Generate Visual Baselines against https://maze.ryankelly.dev (needs a build with the test bridge, i.e. current main — the old 4.7.0 build on preview-maze predates it)
  2. Inspect every PNG, commit them to tests/visual/maze.spec.ts-snapshots/, and set MAZE_VISUAL_BASELINES: "1" in web-export.yml in the same commit

🤖 Generated with Claude Code

… workflow

The Godot 4.7.1 regression shipped a build whose entire UI rendered as
garbled boxes, yet the smoke test passed — it only proves the engine
boots. Two follow-ups:

- smoke.mjs now collects 'WebGL: INVALID_*' console errors and fails
  after boot if any occurred. Baseline-free, and verified against live
  deploys: fails on the broken 4.7.1 prod build, passes on the good
  4.7.0 preview build.
- visual-baselines.yml: one-click ubuntu-latest run of the visual suite
  with --update-snapshots against a deployed URL, uploading the PNGs as
  an artifact — the missing step blocking MAZE_VISUAL_BASELINES=1
  (baselines must be linux-generated to match CI).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@rtkelly13
rtkelly13 merged commit 9e8fd94 into main Aug 1, 2026
3 checks passed
@rtkelly13
rtkelly13 deleted the ci/visual-guards branch August 1, 2026 20:07
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