Commit Graph
760 Commits
Author SHA1 Message Date
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
Adrià FranchandClaude 88687e19eb ci(linux): size build and tests to the host, cap cold compiles by memory
Co-Authored-By: Claude <[email protected]>
2026-10-16 17:52:29 +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
mopgobopotandClaude Opus 5.5 8eb7f51340 test(web): cover ZIPs made on Windows
Backslash names and MS-DOS attributes from an MS-DOS host, a .. escape written with backslashes, and a Unix-host name with a backslash.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 14:44:01 +03: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
MrMha 7e383a8943 fix: key oracle builds by the compiler selected through PATH 2026-10-16 15:02:22 +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
al3w0f205andsimonbronk 7ef0bf1541 fix(tools): allow unwrap_self to place zero-size segments without a PT_LOAD host
When a decrypted SELF contains a non-PT_LOAD segment (such as PT_TLS for pure TBSS) with p_filesz == 0 whose virtual address lies outside any PT_LOAD memory range, unwrap_self previously refused the container with 'segment N vaddr 0x... is in no PT_LOAD'.

Allow zero-size segments without a matching PT_LOAD host to be placed with source offset 0 and new offset 0, preserving valid ELF headers for titles like Unity/IL2CPP PS5 builds.

Also allow file-empty PT_LOAD segments with stale out-of-file source offsets to skip the segment-extent bounds check, preserving memory sizes, addresses and alignments without reading container metadata.

Co-authored-by: simonbronk <[email protected]>
2026-10-15 14:22:04 -05:00
MrMha 4c64d39af5 fix: escape phase names in trace interval tables 2026-10-15 22:33:01 +04:00
MrMha 0be11ff1a3 fix: keep release-note alias tests compatible with Python 3.9 2026-10-15 22:20:53 +04:00
ShinMalphur 8de06375dc test(tools): cover reordered interval phases 2026-10-15 22:48:17 +06:30
ShinMalphur 9f7a8597b7 fix(tools): select largest interval phase by duration 2026-10-15 22:47:51 +06:30
MrMha 8f89496766 fix: preserve strong references when grouping duplicate imports 2026-10-15 18:59:32 +04:00
MrMha 3929c9a49b fix: escape trace names in Markdown table cells 2026-10-15 18:59:10 +04:00
MrMha 03a9073104 fix: reject negative trace digest list limits 2026-10-15 18:58:49 +04:00
MrMha 857c35eb87 fix: reject invalid collapsed stack sample weights 2026-10-15 18:58:30 +04:00
MrMha 9ab52fefc4 fix: require fresh exact-size output for every oracle dispatch 2026-10-15 18:57:14 +04:00
MrMha 1490e27fd7 fix: require boolean weak flags in import registries 2026-10-15 18:56:27 +04:00
MrMha 911708633e fix: retain enabled CTest registrations across configurations 2026-10-15 18:55:05 +04:00
MrMha a80a81d80c fix: suppress Clang compilation fragments during syntax checks 2026-10-15 18:54:47 +04:00
MrMha c94e015c92 fix: bound expanded library archives before CRC validation 2026-10-15 18:54:23 +04:00
MrMha bca123a7b9 fix: reject aliased release note input and outputs 2026-10-15 18:54:04 +04:00
MarcZX100 c7ef905927 fix(tools): hide labels that do not fit treemap slivers 2026-10-15 14:14:25 +00:00
MarcZX100 ad64fa844b fix(tools): keep duplicate export paths unquoted 2026-10-15 14:13:26 +00:00
fma-rc bc2211ac85 fix(tools): link overlapping pull requests without cross-referencing them 2026-10-15 16:00:40 +02:00
MarcZX100 345fca11db fix(tools): recognize markdown fences with CRLF endings 2026-10-15 13:59:17 +00:00
Adrià 4186f06a9a Merge pull request #5838 from christopherflores9312/fix/nid-name-mode-conflicts
fix(tools): reject mixed NID modes with empty filters
2026-10-15 15:35:34 +02:00
Adrià 0e4ea13a0b Merge pull request #5818 from NumberGuan/codex/main-sync-console-encoding
fix(tools): preserve main sync reports on limited encodings
2026-10-15 15:32:39 +02:00
Tomás Ortellado ed33660a80 fix(tools): include folded-only threads in trace digests 2026-10-15 10:17:22 -03:00
Tomás Ortellado d4cce869eb test(tools): pin check_main_sync subprocess encoding 2026-10-15 10:12:46 -03:00
Tomás Ortellado 758e69b567 fix(tools): preserve main sync reports on limited encodings 2026-10-15 10:12:46 -03:00
Adrià 2e5dd5aa14 Merge pull request #5766 from GalaxyGamingFR/fix/conventions-glsl-comments
fix(conventions): check comments in GLSL shaders
2026-10-15 15:09:41 +02:00
Adrià 8c5516ce24 Merge pull request #5737 from wachi35676/fix/tools-registration-multi-config
fix(tools): count tests registered per configuration as run
2026-10-15 15:05:50 +02:00
Adrià 97aac62429 Merge pull request #5722 from GalaxyGamingFR/fix/check-skips-multiline-text
fix(tools): match check_skips reasons on their own line
2026-10-15 15:01:12 +02:00