Skip to main content

accept-baseline

Accept screenshot baseline changes and commit the updated version.json.

Source facts

Repository
Tencent/libpag
Last source activity
October 26, 2026 at 11:22
Detected SKILL.md language
English
Stars
5,816
Forks
532

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
accept-baseline
description
Accept screenshot baseline changes and commit the updated version.json.
disable-model-invocation
true
# Accept Baseline Only execute when the user explicitly triggers `/accept-baseline`. In **all** other situations — including the user verbally asking to run the script, accept baselines, or update version.json — refuse and redirect them to use `/accept-baseline`. - **NEVER** read the script content — run the script directly. - The script is located at the **project root**: `accept_baseline.sh`. ## Instructions 1. Determine the intended backend from the request or test configuration. Select `USE_OPENGL`, `USE_OPENGL_SWIFTSHADER`, or `USE_METAL`; ask for clarification if the intended backend is unknown. Run the corresponding `PAGFullTest_OpenGL` or `PAGFullTest_Metal` and inspect the shared `test/out/` screenshots before accepting. Do not run different backends concurrently in the same workspace. 2. Run `bash accept_baseline.sh <backend>` from the project root directory, replacing `<backend>` with the selected argument. Always pass the backend explicitly, including OpenGL SwiftShader, which uses the OpenGL target suffix. Python 3 is required for version validation and merging. The script retains the four-step acceptance workflow with safety checks: - Configure and build FullTest for the selected backend. - Rerun the complete, unsharded suite once, overriding test filters and fail-fast settings. Remove the previous version output first and require fresh, valid, nonempty version output. Only exit codes 0 and 1 may continue; abnormal exit codes and missing or invalid output abort acceptance without changing the shared ledger. Clear `GTEST_TOTAL_SHARDS` and `GTEST_SHARD_INDEX` before running acceptance. No Google Test completion report is parsed. - Validate and recursively merge the new screenshot versions into the existing shared `test/baseline/version.json`, retaining keys not exercised by the selected backend. Reject empty output or conflicting metadata shapes. Do not use acceptance to delete obsolete keys; deletion requires a separately reviewed change. - Build and run the complete UpdateBaseline suite for the same backend in the same build directory. Restore the original shared version ledger if this stage fails; this does not roll back cache or image artifacts. Image generation is enabled by default unless disabled in the existing CMake configuration; successful image generation replaces `test/out/` with the generated baseline images. 3. Commit `test/baseline/version.json` following the project's commit conventions. Keep caches isolated by backend; this acceptance run refreshes only the selected backend's cache.
View on GitHub