Commit Graph
88 Commits
Author SHA1 Message Date
Braxton Atkinson 2f975066cd fix(tools): parse flow-style pull-request filter keys safely 2026-10-24 23:26:59 -05:00
Guille Dols 6fb15480a5 ci(conventions): keep namespace identity across reopened blocks for alignas constants 2026-10-24 20:33:30 +02:00
Guille Dols 3b4c56757c ci(conventions): resolve alignas constants in the scope they are used in 2026-10-24 20:33:30 +02:00
Guille Dols a2b2c374ed ci(conventions): reject alignas above the 8192 bytes MinGW allows 2026-10-24 20:33:30 +02:00
Dean 5a1e51137f Merge pull request #9660 from jotitadev/fix/conventions-env-reference-from-subdirectory
fix(tools): check environment references from a subdirectory
2026-10-23 19:26:22 +13:00
fma-rc 928588bbb8 fix(tools): compare libraries before looking for a duplicate export's body 2026-10-23 00:01:52 +02:00
Jota a22f220857 fix(tools): check environment references from a subdirectory 2026-10-22 03:45:02 -03:00
fma-rc 3b5a99c20f fix(tools): count assembly exports in the duplicate-export check 2026-10-22 00:28:31 +02:00
boykopovar a6dcea9279 Merge pull request #9137 from boykopovar/fix/funcs-abi-debt-2026-10-20
fix(libs): libs funcs abi debt 2026 10 20
Corrected signatures or behaviour of 1,702 existing exported functions across 96 libraries. Added 85 typed export wrappers. Unimplemented functions retain NotImplemented_nid_no_patch(__func__).
2026-10-22 00:32:11 +03:00
Adrià 1896871ba7 Merge pull request #8892 from harisibrar1/ci/conventions-current-base
ci(conventions): check pull requests with the current base branch rules
2026-10-21 21:12:55 +02:00
boykopovar 68aeef249a fix(tools): scan committed sources for duplicate exports 2026-10-21 21:56:08 +03:00
Dean c68a27cc4c Merge pull request #8638 from Tripchipp/fix/doc-links-inline-code-labels
fix(tools): check doc links whose text is inline code
2026-10-21 17:54:13 +13:00
harisibrar1andClaude Opus 5.5 0c7d25c3d1 ci(conventions): check pull requests with the current base branch rules
The workflow checked out pull_request.base.sha, the base recorded when the
pull request was opened, and ran that revision's check_conventions.py. A rule
merged after a pull request was opened never ran on it: #7005 added
APS5_NO_WGI without an ENVIRONMENT.md row and passed with the checker of
07e741481, which had no env-reference rule.

Check out the current tip of the base branch and pass it as --base; the
checker already diffs from the merge base, so only the pull request's own
changes are checked. A name documented on the base branch after the branch
point now counts as documented unless the pull request removes its row.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 00:50:41 -04:00
Tripchipp e58fcc9c3b fix(tools): check doc links whose text is inline code 2026-10-20 21:05:11 +02:00
Maz 6926aff808 fix(tools): stream duplicate export search patterns 2026-10-20 16:58:16 +04:00
Cankiee 445d7192f9 fix(tools): handle git command failures gracefully 2026-10-20 11:52:58 +02:00
Adrià c74aeb2f4c Merge pull request #6757 from LeandroLP23/ci/conventions-debt-entry-length
feat(tools): warn when a pull request adds a technical debt entry over 1000 characters
2026-10-19 12:17:54 +02:00
Adrià 8e3d8b9bd8 Merge pull request #6723 from Tripchipp/fix/debt-file-unlinked-entries
fix(tools): keep debt entries without a core link in the index
2026-10-19 12:09:51 +02:00
LeandroLP23andClaude Opus 5.5 fb1ad2fcf4 feat(tools): warn when a pull request adds a technical debt entry over 1000 characters
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 23:48:11 +02:00
David Fontanet BujaldónandClaude Opus 5.5 c494367836 Merge boykopovar/AnyPS5 main into fix/conventions-unknown-nid-collisions
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:17:36 +02:00
011010 061101a3e8 fix(tools): report a row the pull request removes 2026-10-18 04:16:04 -06:00
011010 ea01ee8965 fix(tools): check the environment names a pull request adds 2026-10-18 02:36:16 -06:00
011010 bb109df676 fix(tools): read the helper and wide-string environment readers 2026-10-18 02:13:39 -06:00
husari.orozco abec10fe2d fix(tools): catch the EnvInt and GetEnvironmentVariableA readers and take the review rows 2026-10-18 01:14:35 -06:00
husari.orozco d49b0fecf5 docs(environment): add the APS5_* and ANYPS5_* reference and check it 2026-10-18 01:14:35 -06:00
Dean fdcc9f70e0 Merge pull request #5780 from MrMha/fix/conventions-duplicate-source-tokens
Merged while @adriadam10 is away; his requested change is in place.
2026-10-18 15:57:48 +13:00
Dean e14e281c82 Merge pull request #6624 from IshmamDC217/fix/conventions-multiline-string-comments
fix(tools): find Python and CMake comments across multi-line strings
2026-10-18 12:56:50 +13:00
MrMha 26c3a82e8d fix(conventions): ignore non-code duplicate export matches 2026-10-17 18:08:43 +04: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 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
AlxcBTW ad2b2b4c9c docs: add AGENTS.md with the rules coding agents break 2026-10-16 19:41:49 +02:00
Tripchipp bd9d0c3d7d fix(tools): keep debt entries without a core link in the index 2026-10-16 09:09:21 +02: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
MarcZX100 ad64fa844b fix(tools): keep duplicate export paths unquoted 2026-10-15 14:13:26 +00:00
MarcZX100 345fca11db fix(tools): recognize markdown fences with CRLF endings 2026-10-15 13:59:17 +00:00
Adrià FranchandClaude 1b94074869 fix(conventions): also check comments in .glsl shaders
Co-Authored-By: Claude <[email protected]>
2026-10-15 14:39:47 +02:00
GalaxyGamingFRandClaude Opus 5.5 939b3d8a9f fix(conventions): check comments in GLSL shaders
The comment rule only scanned C++, Python and CMake files, so a
comment added to a .comp, .frag or .vert shader passed the check.
TextureDetile.comp and ColorTransfer.comp carry such comments today.
Shaders are now masked with the same C-style lexer and report
comment on changed lines, with the same #endif allowance and the
same technical-debt exemption as C++.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-15 14:39:25 +02:00
Adrià b08db6a093 Merge pull request #5765 from GalaxyGamingFR/fix/conventions-depends-on-list
fix(conventions): accept Depends on answered as a list
2026-10-15 14:39:14 +02:00
David Fontanet BujaldónandClaude Opus 5.5 02b376a1d4 feat(tools): flag Unknown exports whose NID is already a symbol in the tree
An APS5_EXPORT whose name says the NID is unknown can carry the NID of a
symbol nid_patcher already produces from core/libs/prx: a _nid_postfix
helper, an APS5_VABI export or an assembly function. The NID is then not
unknown, and the stub can take the place of that symbol. #5608 exported
YNw9Xk5iNWo from libSceVideoOut as a throwing stub; it is the NID of
MouseIsOpen_nid_postfix, which libSceVideoOut imports from libSceMouse,
so presentation failed with "YNw9Xk5iNWo not implemented" (#5738, #6245).

The unknown-nid rule reports an added Unknown export with the NID of a
symbol in core/libs/prx, and an added symbol with the NID of an Unknown
export. Named aliases, such as the libc and libSceAmpr exports that share
NIDs on purpose, are not checked.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 10:29:03 +02:00
Adrià f0634088bc Merge pull request #6013 from TaymKal/fix/conventions-renames
fix(conventions): check only changed lines in renamed files
2026-10-14 22:20:34 +02:00
Adrià 101c23a813 Merge pull request #5378 from MiniRML/fix/conventions-bom-shebang
fix(conventions): accept first-line BOM shebangs
2026-10-14 21:25:39 +02:00
TaymKal 1f11d60fee fix(conventions): check only changed lines in renamed files 2026-10-14 21:18:21 +02:00
Adrià 2b0d680903 Merge pull request #5360 from thuanquang/fix/conventions-type-change
fix(conventions): pair each type change with both of its patch headers
2026-10-14 20:58:06 +02:00
Adrià 6fe6764b9b Merge pull request #5354 from pushkarreddyy/fix/conventions-modern-agent-files
fix(conventions): reject modern agent instruction files
2026-10-14 20:57:48 +02:00
Adrià 3864da5959 Merge pull request #3909 from GalaxyGamingFR/fix/conventions-doc-link-code-blocks
fix(conventions): ignore code blocks when checking doc links
2026-10-14 19:13:06 +02:00
GalaxyGamingFRandClaude Opus 5.5 efde691a45 fix(conventions): accept Depends on answered as a list
The pr-template check only accepted "Depends on: #N" or "none" on the same
line, so a checklist answering it as a bulleted list failed CI although
pr_overlap reads exactly that form (test_pr_overlap_dependencies covers
"Depends on:
- #2
- #3"). Allow one list marker before the first answer;
an empty answer is still reported.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-14 02:32:58 -07:00
Alexej Szpevák 739fcd7862 perf(tools): read checker file contents through one git cat-file process
Check read every technical debt file and every changed file with its
own git show, so each run started one process per file: 99 git
processes for a typical pull request, 311 for a 118-file range, and the
count grew with docs/dev/debt. Process start-up dominates on Windows.

Read the blobs the checks use in one git cat-file --batch process,
keyed by the object ids ls-tree already returns, and batch the files
duplicates() inspects the same way. Paths that are not cached still go
through git show, so failures are unchanged.
2026-10-14 11:11:38 +02:00
GalaxyGamingFRandClaude Opus 5.5 e052811006 fix(conventions): ignore code blocks when checking doc links
The doc-link check matched C++ lambdas such as `[](int a)` inside fenced
code blocks and inline code, reporting bogus missing targets. Links now
require non-empty link text, and links() strips fenced blocks and inline
code spans first. docs() also skips added lines that sit inside a fence
of the full file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 00:49:22 -07:00