Commit Graph
163 Commits
Author SHA1 Message Date
Dean Galvin 5cef36532c fix(tools): keep check_type_size results in configure_seed
CMake stores a check_type_size result as two cache entries: HAVE_<VAR>, documented as Result of TRY_COMPILE, and <VAR>, documented as CHECK_TYPE_SIZE. The exporter only recognized the first, so a seeded configure restored HAVE_<VAR>=TRUE, skipped the probe and had no size. Seed the size entry too, and hash tools/configure_seed.py into the seed cache key so a seed written by the old exporter is not restored.
2026-10-25 02:16:51 +13:00
Dean Galvin 82b151597a docs: point game status links to the Game bring-up discussions
The README, the Game bring-up discussion form and the converter page now link to the Game bring-up discussions for per-game status and test reports.
2026-10-24 13:15:57 +13:00
LeandroLP23andClaude Opus 5.5 5b2955b9cf ci(build): let a running main build finish before the next push's build starts
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 14:17:45 +02:00
Dean c61d20f548 Merge pull request #8087 from harry-z-kang/codex/windows-seh-runtime
feat(windows): support MSYS2 GCC runtime builds
2026-10-22 17:13:47 +13:00
Dean dce41a8947 Merge pull request #4442 from fma-rc/docs/issue-forms
docs: add a bug report form and issue chooser links
2026-10-22 17:03:27 +13:00
Kang, Harry Zixuan 726edc503b feat(windows): support MSYS2 GCC runtime builds 2026-10-21 20:29:55 -07: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
fma-rc 96b190317a docs: use a made-up title ID in the bug report form's example 2026-10-20 17:02:59 +02:00
Dean Galvin 7814a12b90 revert(ci): run Linux video output tests under Xvfb
This reverts the merge of #6932 (fce1fefe3b). Its "Install Xvfb" step fails on the self-hosted Linux runner, which has no xvfb-run and no passwordless sudo, so every Linux build stops before configuring.
2026-10-20 22:29:48 +13:00
MarcZX100 fe1d9eae67 ci: run Linux video output tests under Xvfb 2026-10-20 08:19:15 +00:00
Dean d5c956a100 Merge pull request #8074 from thuanquang/ci/pr-labels-timeout
ci: give the PR label job 30 minutes
2026-10-20 17:56:49 +13:00
Dean 964093ef36 Merge pull request #5710 from AMRYB/fix/web-release-pairing
fix(web): publish converter and libraries from one release
2026-10-20 17:47:07 +13:00
Dean Galvin 20c425aabe ci(release): skip the precise-wait test in the Linux release run
The hosted ubuntu-latest runners oversleep PreciseSleepUs(50), so precise_wait
fails there and, with --stop-on-failure, every tag-push Release stops before
it packages anything. The Build workflow still runs the test on every pull
request; only the Linux step of release.yml excludes it.
2026-10-20 16:14:09 +13:00
thuanquangandClaude Opus 5.5 baa581335f ci: give the PR label job 30 minutes
The first hourly pass over every open pull request after #5976 was
cancelled at the 10-minute limit (run 39160516271).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 02:49:30 +07:00
Amr Yasser e10616b17b fix(web): publish converter and libraries from one release 2026-10-18 23:26:42 +03:00
Adrià fd58ca321e Merge pull request #6190 from devavijitsingh/feat/web-batch-conversion
feat(web): convert multiple app ZIPs as one bundle
2026-10-18 22:18:18 +02:00
Dean a589dc0590 Merge pull request #5976 from fma-rc/ci/pr-labels
ci: label pull requests that unblock a title or change performance
2026-10-19 07:57:27 +13:00
Adrià FranchandClaude afe2141a7c ci(pages): deploy only when the site or the progress changes
Co-Authored-By: Claude <[email protected]>
2026-10-18 14:40:02 +02:00
Destroyers212x a37797625c ci(relinker): build and test the relinker for x86-64 on macOS under Rosetta 2026-10-17 23:31:02 +00:00
Dean Galvin 0f0ae07084 ci(intake): let a maintainer reopen bypass the open-PR limit
The intake workflow re-closes a reopened PR whose author is still over the
open-PR limit, so a maintainer cannot rescue PRs it auto-closed. When the
reopening actor has write, maintain or admin permission, skip the limit and
remove the "open PR limit" label instead. Contributor reopens behave as
before, and if the permission lookup fails the limit still applies.
2026-10-18 11:45:21 +13:00
Dean e761af921e Merge pull request #7205 from wachi35676/fix/ci-context-jobs-build-dispatched-pr
ci(build): build the pull requests in the register context and write watch jobs
2026-10-18 09:58:51 +13:00
Dean 0268c1b3fb Merge pull request #7097 from inmert/ci/relinker-asan-tls
ci: run the relinker TLS coverage tests under AddressSanitizer
2026-10-18 09:42:41 +13:00
Adrià FranchandClaude 521babcd68 ci(build): run the relinker job's tests in parallel
The relinker job ran its 182 tests one at a time: 233 s on windows-latest, most of it Python tool tests. The full windows job already runs the same tests with --parallel 4.

Co-Authored-By: Claude <[email protected]>
2026-10-17 20:17:10 +02:00
Adrià FranchandClaude e572635506 ci(build): run test jobs only for the parts of build.yml a change touches
A change to build.yml ran the relinker, register-context and write-watch jobs whatever it touched. The patch's lines are now mapped to the job sections of the workflow at the head, and a test job runs only if its own section, the eligibility job or the shared part outside jobs changed; without a patch every job runs as before.

Co-Authored-By: Claude <[email protected]>
2026-10-17 20:08:51 +02:00
Adrià FranchandClaude 4cfb85482a ci(build): save the Windows ccache from merge queue builds
Queue builds are workflow_dispatch runs on main and never saved their ccache,
so each one restored the last push build's entry and recompiled everything the
queued PRs and the merges since then touched (32 min vs 6 min warm). They now
save under their own prefix, restore it first and fall back to the push
entries; push builds still restore only push entries, so main never starts
from a tree that held unmerged PRs.

Co-Authored-By: Claude <[email protected]>
2026-10-17 19:54:25 +02:00
Muhammad Wasif Ali WasifandClaude Opus 5.5 521a68ad9e ci(build): build the pull requests in the register context and write watch jobs
Both jobs checked out without a ref, so a dispatched build compiled and
tested main instead of the selected pull requests, although the gate
starts them because a pull request touched their files. They now check
out the gate's main commit and merge the pull requests with the same
step as the relinker, Linux and Windows jobs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 21:25:39 +05:00
inmert 91fdcbdf1a ci: run the relinker TLS coverage tests under AddressSanitizer
The segment-prefix-at-eof case from #6401 only catches the 1-byte read
past the input when the relinker is built with AddressSanitizer, and no
CI job did that. The new job builds the relinker alone in Debug with
ANYPS5_ENABLE_ASAN and runs the tls_function_coverage tests. It has to
be Debug: at -O3 GCC no longer emits the stray load, so a Release ASan
build passes with the fix reverted.
2026-10-17 16:47:29 +05:30
Adrià 23a0dad994 Merge pull request #6100 from Zinebyte/fix/web-appledouble-metadata
fix(web): recognize AppleDouble ZIP metadata
2026-10-17 12:00:08 +02:00
fma-rc 67f13f61c9 ci: label pull requests that unblock a title or change performance 2026-10-17 10:18:05 +02:00
Adrià FranchandClaude dde946d488 ci: label pull requests that close an issue
Co-Authored-By: Claude <[email protected]>
2026-10-17 10:00:09 +02:00
Adrià FranchandClaude e5b31e0728 ci(windows): cache only the submodule git dirs
The cached tar held the 3rdparty work trees too, and its extraction fails on
the dangling symlink 3rdparty/zstd/tests/cli-tests/bin/unzstd, which Git Bash
tar can't create. Cache .git/modules alone and let git submodule update check
the work trees out from it, as a clean checkout does.

Co-Authored-By: Claude <[email protected]>
2026-10-16 21:31:16 +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à 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 bca62ea696 ci: let a push to main cancel the build of the previous one
Push builds of main ran one after another, so a merge waited for the
builds of every earlier merge before main got a result for its tree; a
fix of a red main sat behind a build of the tree it fixes. The newest
push now cancels the build in progress, like pull request and dispatched
builds already do. The merge queue's baselines already skip cancelled
main builds and use the nearest completed ones.

Co-Authored-By: Claude <[email protected]>
2026-10-16 19:14:07 +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 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
Zinebyte 3a0b032c59 fix(web): recognize AppleDouble ZIP metadata 2026-10-16 11:49:31 -04:00
Adrià FranchandClaude b066940d4f ci(linux): link with wild
Co-Authored-By: Claude <[email protected]>
2026-10-16 16:44:10 +02:00
Adrià FranchandClaude 20c11e7334 Revert "ci(linux): link with wild" (#6861)
The runner cannot create directories under /var/cache/anyps5 (mkdir: Permission denied), so the install step failed
and the linux job built nothing.

Co-Authored-By: Claude <[email protected]>
2026-10-16 16:40:52 +02:00
Adrià FranchandClaude 94775df2b2 ci(linux): link with wild
Co-Authored-By: Claude <[email protected]>
2026-10-16 16:35:37 +02:00
Adrià FranchandClaude f7e767add9 ci(linux): size build and test parallelism to what the shared host has free
The self-hosted runners share one 32-thread host and were fixed at one job each, so
a build with many ccache misses compiled them one after another (686 misses took 37 min).
Pick jobs from the free CPUs and available memory (1 to 8, ctest at most 4) and pass a
load limit to ninja so a busy host backs off.

Co-Authored-By: Claude <[email protected]>
2026-10-16 12:14:07 +02:00
Adrià 92e50418f3 Merge pull request #5725 from GalaxyGamingFR/fix/stale-label-after-rebase
fix(ci): clear the stale label once a PR is rebased
2026-10-15 17:04:38 +02:00
Adrià 4c6fcdbadf Merge pull request #5764 from GalaxyGamingFR/fix/area-labels-all-open-prs
fix(ci): label all open PRs, not only the newest 200
2026-10-15 15:58:39 +02:00
Adrià FranchandClaude e0b9572e3b ci(windows): find the CA bundle of Git for Windows under ucrt64 too
Git for Windows 2.56 (runner image 20261002) moved from mingw64 to ucrt64,
so the fixed SSL_CERT_FILE path no longer exists and the WinLibs CMake
fails the FFmpeg download with status 60 on every Windows build. Take the
bundle from whichever of ucrt64 and mingw64 exists.

Co-Authored-By: Claude <[email protected]>
2026-10-15 15:20:44 +02:00
Adrià 4224d240aa Merge pull request #5724 from GalaxyGamingFR/fix/pr-intake-concurrent-opens
fix(ci): count only earlier open PRs in the intake limit
2026-10-15 15:02:13 +02:00
Adrià FranchandClaude b139ac9b9f ci(build): build up to 40 pull requests together
Co-Authored-By: Claude <[email protected]>
2026-10-15 14:59:51 +02:00
NikoandClaude Opus 5.5 b9c91c89ba ci(build): accept merged pull requests in the relinker author check
The eligibility job enabled the relinker matrix for a pull request only
when repos.listCommits on main with the author's login returned a
commit. That filter misses authors whose commits in main are not
matched to their login. On 2026-10-13 it found no commit for 26 authors
of open pull requests who have 1 to 44 pull requests merged into main,
so their pull requests skip the relinker, against CONTRIBUTING.md ("if
its author already has a commit in main").

When listCommits finds nothing, the job now also searches for the
author's merged pull requests into main, with the query pr-intake.yml
uses. Incomplete search results count as none. A failed search, such as
the search API's own rate limit, skips the relinker with a warning
instead of failing the job. Both requests now run only when the pull
request changes a relinker file, so other pull requests make neither.

test_build_eligibility.py runs the step's script in node with a mocked
github object and skips when node is missing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 13:18:25 +02:00
Dean Galvin a0d71c8917 ci(build): let a pull request's ref be replaced after it is force-pushed 2026-10-15 14:37:21 +13:00
Avijit SinghandCopilot 339c644b28 test(web): run batch helper checks in CI
Co-authored-by: Copilot <[email protected]>
2026-10-15 06:46:21 +05:30
Avijit SinghandCopilot 297b0dfacf test(web): make batch limits independently testable
Co-authored-by: Copilot <[email protected]>
2026-10-15 06:39:30 +05:30