Repository navigation
Fix the UiRenderSmoke golden probe and run the full CI matrix on every PR - #92
Merged
Merged
Conversation
…y PR The 'P red' probe of UiRenderSmoke.GoldenUiScene read pixel (20, 20), which the smoke scene's button (16, 16, 20 x 14, green uv, declared after the panel, drawn on top by the monotone-z contract) covers: the correct color there is the button's green, so the probe failed on all four Linux lanes of the merge run (run 38163032436) while the full-frame CPU-reference comparison reported zero mismatches (the reference inherits the quad UVs and cannot catch the intent error). The probe now reads (12, 12), inside the panel and outside the button. The PR lane (.github/workflows/ci-pull.yml) now runs the same eleven jobs as the merge lane, unconditionally: the four Linux trees, Windows, both macOS lanes, and the four tooling jobs. The ci:windows / ci:macos label selector is removed from both workflows: no job is gated on a label and no test is ever skipped. The PR-lane sanitizer jobs upload no artifacts (the pull_request token is read-only, including fork PRs); their tee'd ctest output keeps every sanitizer report in the job log, and the merge lane still archives artifacts. AGENTS.md section 5 gains the local Linux test gate: before any push to GitHub, all four Linux CI trees (g++, clang++, ASan+UBSan, TSan) must be built and their full unfiltered ctest suites must pass locally, in parallel when the machine allows.
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.
What broke
The merge run of #91 (38163032436) failed 4/4 Linux lanes on a single
test,
UiRenderSmoke.GoldenUiScene. The "P red" exact probe reads pixel(20, 20), but the smoke scene's button (16, 16, 20x14, green uv,
declared after the panel, drawn on top by the monotone-z contract)
covers every panel pixel with x, y >= 16. The correct color at (20, 20)
is the button's green, so the probe failed on every Linux lane while
the full-frame CPU-reference comparison reported
mismatches=0(thereference inherits the quad UVs from the batcher, so it cannot catch
the intent error — only the hardcoded probes can). Test bug, not
engine.
Changes
tests/laige-render/ui_render_tests.cpp: probe moved (20, 20) ->(12, 12), inside the panel and outside the button, with a comment
recording the occlusion.
.github/workflows/ci-pull.yml: the PR lane now runs the SAMEeleven jobs as the merge lane, unconditionally — the four Linux
trees, Windows, both macOS lanes, and the four tooling jobs. The
ci:windows/ci:macoslabel selector is removed from bothworkflows: no job is gated on a label, no test is ever skipped.
The PR-lane sanitizer jobs upload no artifacts (the pull_request
token is read-only, including fork PRs); their tee'd ctest output
keeps every sanitizer report in the job log, and the merge lane
still archives artifacts.
AGENTS.mdsection 5: new "Local Linux test gate" — before anypush to GitHub, all four Linux CI trees (g++, clang++,
ASan+UBSan, TSan) must be built and their full unfiltered ctest
suites must pass locally, in parallel when the machine allows.
Verification (local gate, before push)
118/118 (full unfiltered ctest per tree, parallel trees)
(1688 symbols), laige-detcheck synthetic: all OK
Note: GitHub runs a PR's workflow from the base branch, so the new
ci-pull.yml takes effect from the next PR. This PR carries both
labels, so the old-lane macOS jobs run here; the four Linux trees are
verified by the local gate above and by the merge lane after merge
(all 11 jobs, including the fixed probe).