Skip to content

[M2-GOLD-01] Golden image test infrastructure (TEST-008, canonical 1280x720 frame) - #98

Merged
offdev merged 7 commits into
masterfrom
feat/m2-gold-01-golden-image-tests
Oct 13, 2026
Merged

offdev merged 7 commits into
masterfrom
feat/m2-gold-01-golden-image-tests

Conversation

@offdev

@offdev offdev commented Oct 13, 2026

Copy link
Copy Markdown
Owner

Golden image test infrastructure (M2-GOLD-01): offscreen FBO capture (new GlContext::readPixels) + the laige-golden tool (compare against committed reference PNGs with the explicit tolerance — max channel diff 2 inclusive, 0.001% pixel budget; --update regenerates references, human-approved) + the first two fixtures (the M2-SPRITE-02 1000-sprite scene and the M2-UI-02 UI scene, canonical 1280x720 frame, GL-free builders pinned by the golden_compare gtest suite) + the workflow_dispatch-only golden-update.yml that renders references on CI and prints them as base64 between log markers (the PR lane cannot upload artifacts). stb_image/stb_image_write join the pinned stb dependency; laige-api.json regenerated last (1851 -> 1852); no budgets.json entry (17). Local 4-tree Linux gate green (119/119, 119/119, 114/114, 114/114; GL-creating entries excluded per the GPU local-execution policy). NOTE: the first CI run's golden entry is expected RED (references not yet committed — the documented two-run bootstrap); references land in a follow-up commit after the human-approved golden-update dispatch.

@offdev offdev added ci:windows ci:macos ci:slow:render Gates the slow render jobs; milestone gates carry all ci:slow:* labels. labels Oct 13, 2026
…d of including the gtest-coupled test-support header (the CI runners have no system gtest)
… runners have no usable OpenGL 3.3 (the GL gtest suites GTEST_SKIP there), so the Linux llvmpipe lanes are the only CI lanes running the golden comparison
@offdev offdev added the ci:golden-update Run the golden-references job: render reference PNGs for human review/commit label Oct 13, 2026
…lden-update): workflow_dispatch only sees workflows on the default branch, so the PR-time reference regeneration path must live in ci-pull.yml (the dispatch workflow keeps the post-merge master path)
…se build links tools into build/bin (CMAKE_RUNTIME_OUTPUT_DIRECTORY), not build/tools/golden
…e environment): rendered by the label-gated golden-references job, extracted from its log between the GOLDEN_REFERENCE markers, in-run determinism compare failing=0 / max_diff=0
…ane job and the post-merge dispatch workflow)
@offdev
offdev merged commit 0f15e44 into master Oct 13, 2026
61 of 62 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:golden-update Run the golden-references job: render reference PNGs for human review/commit ci:macos ci:slow:render Gates the slow render jobs; milestone gates carry all ci:slow:* labels. ci:windows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant