Commit Graph
608 Commits
Author SHA1 Message Date
emirplus 1783de553b fix(tools): handle trailing separators in select_tests root paths 2026-10-17 14:17:42 +03:00
fma-rc 67f13f61c9 ci: label pull requests that unblock a title or change performance 2026-10-17 10:18:05 +02:00
simonbronk 4ef9056af4 fix(nid-names): keep empty symbol filters in name mode 2026-10-17 09:44:27 +02:00
Dean 661a1118cc Merge pull request #6626 from IshmamDC217/fix/conventions-ci-gate-indent
fix(tools): read workflow job keys at the indentation the file uses
2026-10-17 18:00:57 +13:00
Dean 10e0906273 Merge pull request #6407 from MarcZX100/codex/conventions-duplicate-export-quotepath-6388
fix(tools): keep duplicate export paths unquoted
2026-10-17 17:55:52 +13:00
Dean e047444ec8 Merge pull request #6408 from MarcZX100/codex/progress-treemap-sliver-label-6390
fix(tools): hide labels that do not fit treemap slivers
2026-10-17 17:55:34 +13:00
JJenkx d0f2684dce feat(ajm): decode ATRAC9 vibration channel configurations 2026-10-17 00:48:16 -04:00
Dean 4e15bde13d Merge pull request #6397 from MarcZX100/codex/conventions-crlf-fences-6387
fix(tools): recognize markdown fences with CRLF endings
2026-10-17 16:37:26 +13:00
lorkydey ff159f5d61 fix(ci): build fixture helpers added by CTest 2026-10-17 03:00:24 +02:00
Adrià db7176f8a8 Merge pull request #6116 from ArjenS-LA/fix/compile-database-arguments
fix(tools): accept compilation database argument arrays
2026-10-17 01:35:39 +02:00
Adrià f6a2091b65 Merge pull request #6113 from ArjenS-LA/fix/import-audit-export-suffix
fix(tools): normalize qualified ELF module exports
2026-10-17 01:30:12 +02:00
Adrià 3b54eba0de Merge pull request #6114 from ArjenS-LA/fix/release-directory-junctions
fix(release): reject dangling directory junction destinations
2026-10-17 01:24:00 +02:00
Adrià b35f5b7940 Merge pull request #6069 from MiniRML/fix/nid-report-utf8-output
fix(tools): preserve Unicode paths in NID CLI output
2026-10-17 00:08:47 +02:00
MarcZX100 9d82fd96a5 test(tools): cover unsupported inner ELF encoding 2026-10-16 22:01:14 +00:00
Adrià af7db81e6e Merge pull request #6065 from MiniRML/fix/unwrap-elf-metadata-bounds
fix(tools): validate inner ELF metadata before unwrapping SELF
2026-10-16 23:51:42 +02:00
klosixgaming-arch 38fc2ddb36 fix(tools): read unwrap_self's vaddr-less segments from where the SELF stores them
unwrap_self matched SELF records to PT_LOADs by size only and placed
every segment without a vaddr by the shift of the last mapped one. In the
19 modules of PPSA03743/PPSA03363 (Soul Hackers 2) the SCE comment
segment has a record of its own, after a 0x20-byte digest block, so it
and the version segment behind it were read 0x20 bytes too early, and in
the sce_module libraries, where the ELF puts a PT_NOTE between them, the
version segment was cut to a few bytes at the end of the file.

A record with flag 0x800 now places the program header whose index is in
flags bits 20 and up. Segments without a vaddr that follow the last
recorded one are read back to back after it; the PT_NOTE among them is
not stored in the container and is emitted without file bytes.
2026-10-16 16:42:42 -05:00
Adrià e9a3343a22 Merge pull request #6057 from MiniRML/fix/overlap-file-link-encoding
fix(tools): encode filenames in PR overlap links
2026-10-16 23:32:30 +02:00
Adrià c7b6f2d12e Merge pull request #6055 from MiniRML/fix/compile-check-windows-arguments
fix(tools): parse Windows compile commands without losing backslashes
2026-10-16 23:26:07 +02:00
Adrià 8ac10e7a09 Merge pull request #6050 from MiniRML/fix/unwrap-program-header-space
fix(tools): reserve program header space when unwrapping SELF
2026-10-16 23:25:13 +02:00
Savvanis SpyrosandClaude Opus 5.5 c56dbc6166 test(tools): build the select_tests fixture under a junction where Windows refuses symlinks
The fixture builds its project under a directory symlink so that the
paths CMake records differ from the resolved ones. Creating a symlink on
Windows needs SeCreateSymbolicLinkPrivilege, which a user without
Developer Mode or elevation lacks, so setUpClass failed with WinError
1314 and select_tests failed on every local Windows run. On that error
the link is now a directory junction, a reparse point realpath resolves
the same way. Where symlinks can be created nothing changes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 00:19:35 +03:00
Adrià bc3c0fc13c Merge pull request #6001 from RedNixer/fix/tools-primo-topic
fix(tools): accept BOM in performance summaries
2026-10-16 22:57:18 +02:00
Adrià a7f1080301 Merge pull request #6935 from adriadam10/ci/select-tests-case
fix(tools): keep path case in select_tests on Windows
2026-10-16 22:12:43 +02:00
Adrià FranchandClaude c64d2cae0f fix(tools): keep path case in select_tests on Windows
normcase lowered every path it returned, so on Windows the test graph dump
asked ninja for tests/memorypooltest.exe, which it doesn't know as
MemoryPoolTest.exe, and failed; repo paths came out lowered too and could
never match the changed files git lists. Ignore case only to compare.

Co-Authored-By: Claude <[email protected]>
2026-10-16 22:04:06 +02:00
Adrià 9e9d86f81c Merge pull request #5985 from MarcZX100/codex/nid-names-asm-export-helpers
fix(tools): recognize assembly NID exports
2026-10-16 22:02:47 +02:00
Adrià f474fb7768 Merge pull request #6900 from adriadam10/ci/select-tests
ci: build and run only the tests a change reaches on request
2026-10-16 21:06:09 +02:00
Adrià 12de4afa4f Merge pull request #6907 from adriadam10/ci/windows-caches
ci: cache the submodules, FFmpeg and configure checks of the Windows job
2026-10-16 21:05:21 +02:00
Adrià be78e9d6e1 Merge pull request #5946 from RINNECODER/contrib/check-compile-sibling-build
fix(tools): key compile commands relative to the checkout in check_compile
2026-10-16 21:05:17 +02:00
Adrià FranchandClaude 2b056a4795 ci: keep the build paths CMake recorded in select_tests.py
Co-Authored-By: Claude <[email protected]>
2026-10-16 21:02:18 +02:00
Adrià c842491865 Merge pull request #6909 from AlxcBTW/docs/agents-md
docs: add AGENTS.md with the rules coding agents break
2026-10-16 20:42:39 +02:00
Adrià 16a0f509a3 Merge pull request #5909 from kjhq/fix/unwrap-self-empty-tls
fix(tools): place an empty segment that ends a load segment in unwrap_self
2026-10-16 20:39:20 +02:00
AlxcBTW ad2b2b4c9c docs: add AGENTS.md with the rules coding agents break 2026-10-16 19:41:49 +02:00
Adrià FranchandClaude 262de6ab19 ci: cache the submodules, FFmpeg and configure checks of the Windows job
Co-Authored-By: Claude <[email protected]>
2026-10-16 19:23:16 +02:00
Adrià FranchandClaude 13f6191b75 ci: build and run only the tests a change reaches on request
A new select input of the Build workflow limits the Linux and Windows jobs
to the test executables and tests whose build inputs the merged pull
requests change. Push builds of main always build and run everything and
save the test graph of their tree; dispatched runs with select restore the
latest graph and fall back to a full run without one.

tools/select_tests.py dump walks the ninja graph of every test executable
(order-only dependencies included, so prx libraries loaded at run time are
in it) plus the header dependencies of its objects, the CMake files that
register each test, the source files its command line names, and its
fixtures. select picks the tests whose closure, registration or arguments
contain a changed file, and every test that is not a native executable of
the tree; files no build reads select the tests under their directory;
changes to the root build, cmake/, 3rdparty/, the workflow or the tool run
everything. Tests added since the graph was written always run. ctest gets
the selection as -I indices through the tool, which keeps the cmd shell on
Windows and stays under its command line limit.

Co-Authored-By: Claude <[email protected]>
2026-10-16 19:10:16 +02:00
Adrià FranchandClaude a5a0aa0213 test(ci): give the eligibility gate's node runs 90 s
Co-Authored-By: Claude <[email protected]>
2026-10-16 18:32:52 +02:00
simonbronk b0f3ff18a5 fix(release): preflight note destinations before writing 2026-10-16 14:21:40 +02:00
ArjenS-LA ef3c83d6be fix(tools): resolve named audit imports through NIDs 2026-10-16 04:44:34 -07:00
MrMha 7a09d070c5 fix: classify every explicit export alias in import audits 2026-10-16 15:29:00 +04:00
MrMha d40347def7 fix: preserve quoted Git filenames in overlap detection 2026-10-16 15:27:44 +04:00
simonbronk e54ea3ea29 fix(stubgen): reject read-only outputs before replacement 2026-10-16 10:51:42 +02:00
Tripchipp bd9d0c3d7d fix(tools): keep debt entries without a core link in the index 2026-10-16 09:09:21 +02:00
bappisinsane f4c4498325 test(tools): cover prepare_release_notes truncation and file output 2026-10-16 11:05:24 +06:00
Ishmam Ahmed 041dbd240e fix(tools): fail when the trace_digest --summary file does not exist
load_summary returned None for a missing file whether the path was the
default aps5-summary.jsonl next to the trace or one named with
--summary. A mistyped --summary path was therefore silently ignored:
the digest printed "no summary line found" and, without the window end,
dropped the last frame of the window. Report an explicitly named file
that does not exist as a usage error; the default stays optional.
2026-10-16 01:02:51 +01:00
Ishmam Ahmed 3ee7ab8ffb fix(tools): read workflow job keys at the indentation the file uses
The ci-gate check read a job's needs and if only two spaces deeper
than the job name. In a workflow indented by four spaces those keys
were never found, so a job gated with needs: eligibility and an if on
its outputs was reported as ungated. Read the keys at the indentation
of the job's first child instead.
2026-10-16 01:02:47 +01:00
Ishmam Ahmed 74f6a23bba fix(tools): find Python and CMake comments across multi-line strings
The comment check looked at each added .py, .cmake and CMakeLists.txt
line on its own and treated any # outside a string closed on that line
as a comment. A # inside a Python triple-quoted string or a CMake
quoted or bracket argument that spans lines was reported, so adding an
#include to the C++ held in PatchSpirvTools.cmake's [=[ ]=] arguments
failed the check. An escaped \# in CMake was reported too, while the
inner lines of a multi-line #[[ ]] bracket comment were not.

Find comments over the whole file instead: Python COMMENT tokens from
tokenize, and a CMake scan that skips quoted and bracket arguments and
escapes and covers every line of a bracket comment. A Python file that
does not tokenize keeps the previous per-line check.
2026-10-16 01:02:44 +01:00
GalaxyGamingFRandClaude Opus 5.5 a70dea62e7 fix(check_main_sync): fetch an explicit --base before resolving it
main() resolved the base before running --fetch, so an explicit base on a
remote that was never fetched failed with "no base ref found" and never
fetched. The fetch is now a local helper and runs first when --base is
given; the default base still resolves first, then fetches.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 14:01:15 -07:00
GalaxyGamingFRandClaude Opus 5.5 1cfa32a86b fix(check_compile): take changed units from the merge base
changed() diffed the working tree against the tip of the base, so files
changed only on upstream main since the branch point were reported and
compiled. It now diffs against the merge base of the base and HEAD.
A regression test covers a base-only change.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 13:50:17 -07:00
GalaxyGamingFRandClaude Opus 5.5 501eac75f1 fix(progress_history): label axis dates on calendar days
Axis labels and grid lines were drawn only at data points, so a Monday
without a commit lost its label. The label loop now walks every calendar
day between the first and last point. A test covers a series that skips
several Mondays.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 13:49:29 -07:00
GalaxyGamingFRandClaude Opus 5.5 6ce8d6b72a fix(nid_names): accept NIDs with a #lib#mod suffix in --nid
main() rejected --nid values carrying the #lib#mod suffix that load_db and
import_audit already strip and USAGE.md documents. The suffix is now removed
from each --nid value before validation, so lookup and output use the bare NID.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 13:49:19 -07:00
Gabrieljr42 3a2e9d2949 fix(tools): write progress site files as UTF-8 2026-10-15 17:07:42 -03:00
Gabrieljr42 a2392c0246 feat(tools): add a module filter and JSON output to progress.py 2026-10-15 17:04:10 -03:00