The Windows PR job configures the whole project, and the FULL pattern in tools/select_tests.py already treats core/CMakeLists.txt, cmake/, 3rdparty/, .gitmodules, tools/select_tests.py and tools/configure_seed.py as build-wide. The gate that decides whether the Windows job runs listed none of them, so a pull request that changed only cmake/WindowsTestExit.cpp, cmake/Opus.cmake, a submodule, or the seed script left the job out and stayed green. Only the post-merge push run exercised it.
The report reads RdnaOpcode.hpp, tools/rdna_isa.txt and tools/nid_names.py as well as tools/progress.py, but its pull request filter listed only core/libs/prx/**, tools/progress.py and the workflow itself. A pull request that changed only one of the other three ran no report, so no progress comment was posted for it. pages-progress.yml already names RdnaOpcode.hpp.
The scanner fixture gains VOP2 forms at 0x100, 0x13F and 0x140 so a shifted
bound changes a known answer. The command-line summary calls the old count
what it is (opcode names declared). The PR progress report compares only
library and legacy fields, so it no longer runs for recompiler-only changes.
The shaders badge counted ISA instruction names that have an RdnaOpcode
enumerator and had reached 100%. Measure what the recompiler does instead:
decoded and translated instruction forms (base, VOP3, DPP) from the opcode
tables and emit switches, and the unsupported throws, using AMD's RDNA 2
instruction forms (MIT, vendored as a derived table). Say on the page that
this is source coverage, not game compatibility.
The Pages progress workflow now also runs when the recompiler changes, and
the Pages workflows fail instead of publishing when the scan cannot read the
recompiler.
demo/web/tests/archive-reserved.test.mjs checks that archive.mjs refuses
reserved Windows device names such as COM1 and LPT3, including the
superscript digit forms. Like the Windows path test, it ran only through
tools/test_web.py on tag pushes. Run it in the web-tests job with the same
zip library.
Checked locally on upstream main: the test exits 0 with the variables the
fetch step publishes.
demo/web/tests/archive-windows.test.mjs checks that archive.mjs refuses
Windows-style paths such as backslashes and drive prefixes. It ran only
in tools/test_web.py, which release.yml calls on tag pushes, so a change
that broke that check passed every pull request and surfaced at the next
release. Run it in the web-tests job next to the root selection test,
with the same zip library.
Checked locally on upstream main: the test exits 0 with the variables the
fetch step publishes.
The archive root test downloaded the zip library in its own step and
passed the URL and path inline. Move the download into one step that
publishes both values through GITHUB_ENV, so the archive tests added in
the following commits can share them.
The root test still runs with the same URL and path, and its exit status
is unchanged. Checked locally by running the step's script with a
simulated GITHUB_ENV and then the root test with the exported values.
Version 1 of the run report format: a JSON Schema, eleven example reports
(one generated in the test), a test that validates each against the schema and
checks that malformed or contradictory reports are rejected, and a workflow
that runs the test with a pinned validator.
Pull requests only link the host-only core/libs test executables and
never run a guest test, so the three guest_pad test aborts in
#12308-#12310 reached review with every check green. The windows pull
request job now builds the libs target and runs the guest tests whose
sources changed, mirroring the host-only selection; changes that
cannot reach core/libs keep the job light with an early no-op.
An optional field next to System tells reporters to start with
ANYPS5_HOST_REPORT=1 and paste the block, which carries the driver version
and the missing Vulkan items that the free-text field never asked for.
A failed inspect or conversion hid the progress panel that held the
conversion log, cleared the selected archives and showed a single line,
so the only evidence of the failure was gone and a multi-GB input had to
be picked again. Compose the message with the phase, the current input,
the target, the libraries tag and the last 150 log lines, and show it in
the error box under "Failure details" so it can be copied into a report.
The report is a pure function in failure-report.mjs and is covered by
node tests.