Commit Graph
202 Commits
Author SHA1 Message Date
Adrià 228cd64b53 Merge pull request #11228 from ebosido444-ai/fix/web-failure-report
fix(web): keep the failure report with a failed conversion
2026-10-27 18:36:03 +01:00
Dean bbb11b6974 Merge pull request #11062 from MarcZX10/marc/ci-nightly-sanitizers
ci: run every test under ASan and UBSan nightly
2026-10-28 05:58:34 +13:00
Dean f52d0373ea Merge pull request #11486 from plexerPK/codex/test-selection-git-paths
fix(ci): preserve changed paths in test selection
2026-10-27 21:27:02 +13:00
Dean 808a557ac3 Merge pull request #11343 from MarcZX10/marc/ci-mingw-host-only-tests
ci(windows): link host-only tests on pull requests
2026-10-27 21:23:20 +13:00
ebosido444-ai 6252b18b81 fix(web): keep the failure report with a failed conversion
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.
2026-10-27 07:52:34 +01:00
MarcZX10 5280911551 ci(sanitizers): name the fix for guest_backtrace 2026-10-27 06:35:13 +00:00
MarcZX10 241a0ec115 ci(sanitizers): name the timeout change for agc_performance_overlay 2026-10-27 06:35:13 +00:00
MarcZX10 a34c0378ea ci(sanitizers): name the libvorbis update for guest_vorbis_dec 2026-10-27 06:35:13 +00:00
MarcZX10 4b0061f9c1 ci(sanitizers): drop the input_magic failure that #9711 fixed 2026-10-27 06:35:13 +00:00
MarcZX10 307f9f6522 ci(sanitizers): drop the guest_system_configuration failure that #10921 fixed 2026-10-27 06:35:13 +00:00
MarcZX10 96cd705cfd ci(sanitizers): drop the guest_posix_spawn failure that #11239 fixed 2026-10-27 06:35:13 +00:00
MarcZX10 31833c43f1 ci(sanitizers): drop the guest_convert_keycode failure that #10968 fixed 2026-10-27 06:35:12 +00:00
MarcZX10 52952dec6f ci(sanitizers): drop the guest_sce_v2_exceptions failure that #10829 fixed 2026-10-27 06:35:12 +00:00
MarcZX10 6d2d3c7232 ci(sanitizers): drop atrac9_gradient's link failure that #9710 fixed 2026-10-27 06:35:12 +00:00
MarcZX10 a84817ebb0 ci(sanitizers): list guest_posix_spawn's SIGBUS child as a known ASan failure 2026-10-27 06:35:12 +00:00
MarcZX10 5ed54879f7 ci(sanitizers): drop the LibAtrac9 shift failures that #9548 fixed 2026-10-27 06:35:12 +00:00
MarcZX10 26d9e2d95b ci(sanitizers): list guest_math's FMA contraction failure as known 2026-10-27 06:35:12 +00:00
MarcZX10 3f16530cb6 ci(sanitizers): list agc_performance_overlay's sanitizer timeout as known 2026-10-27 06:35:12 +00:00
MarcZX10 5c76b7335c ci(sanitizers): drop the known failures that pass on ubuntu-latest 2026-10-27 06:35:12 +00:00
MarcZX10 85a62536c1 ci: drop the trailing colon from the sanitizer run's ASAN_OPTIONS
The workflow and BUILD.md said ASAN_OPTIONS must end with ':' because tests append their own options with string_append. That is wrong: add_asan_test_options appends ':<options>', so ASAN_OPTIONS=detect_leaks=0 already gives detect_leaks=0:detect_stack_use_after_return=0 for the fiber test. Use detect_leaks=0 and remove the claim.
2026-10-27 06:35:12 +00:00
MarcZX10 1b6abfe41a ci: name the pull requests that fix known sanitizer failures
Point the known failures of agc_driver_pm4, agc_driver_graphics, agc_driver_graphics_maps_fallback and guest_convert_keycode at the pull requests that fix them, #10973 and #10968. With the misaligned loads fixed, agc_driver_graphics and agc_driver_graphics_maps_fallback stop on a second report, a TextureDetiler reference bound to a null pointer in Graphics/src/DepthSurface.cpp:730, so their reason names both.
2026-10-27 06:35:01 +00:00
MarcZX10 793c0ba05d ci: build and test in the sanitizer workflow only after configuration succeeds
When configuration failed, the test and summary steps still ran on the half-configured build directory, found no tests and reported success, so the failed run looked partly green. Gate the build, test and summary steps on the configure step; the job then fails at configuration alone. The build steps keep continue-on-error, so a target that fails to build still shows up as not-run tests.
2026-10-27 06:35:01 +00:00
MarcZX10 43067fef60 ci: install libxrandr-dev for the sanitizer build
The bundled SDL configuration stops without XRandR ('SDL has no XRandR support, so X11 display refresh rates cannot be queried'), as docs/dev/BUILD.md notes, and ubuntu-latest does not ship libxrandr-dev. Found by a run of the workflow on ubuntu-latest.
2026-10-27 06:35:01 +00:00
MarcZX10 1f5d0b347c ci: run every test under ASan and UBSan nightly
Add the Sanitizers workflow. Every night at 03:41 UTC, and on workflow_dispatch, it builds the full runtime on ubuntu-latest with -DANYPS5_ENABLE_ASAN=ON and -fsanitize=undefined -fno-sanitize=vptr, building only the F16ToF32Unpack, F64FmaSubnormals and RegistrationPrepareShutdown AGC execution tests like the Windows MSYS2 workflow, and runs every registered test with ASAN_OPTIONS=detect_leaks=0: and UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1. ASAN_OPTIONS ends with ':' because tests append their own options with string_append. The build keeps going after a failing target, so its tests report as not run instead of hiding the rest. tools/sanitizer_report.py then writes the job summary from ctest's JUnit file and fails the job only for failures missing from .github/sanitizer-known-failures.txt. It reuses the submodule, ccache and FFmpeg caching of the Windows MSYS2 workflow, frees preinstalled toolchains the build does not use to make room for the instrumented objects, and uploads ctest.log and ctest.xml.
2026-10-27 06:34:54 +00:00
MarcZX10 6b51a19a24 ci: list the known failures of the sanitizer run
Add .github/sanitizer-known-failures.txt, one test per line with the sanitizers it fails under and the reason, for the tests that fail in an ASan and UBSan build of main: stack switches that ASan is not told about (fiber, guest_user_context), tests whose setup conflicts with ASan (guest_getrlimit, guest_pthread_stack, guest_backtrace), undefined behavior in third-party code (LibAtrac9, libvorbis), and bugs whose fixes are open pull requests (#9548, #9710, #9711, #10829, #10921) or still to be sent. Each reason quotes what the sanitizer or the test reports on a local run.
2026-10-27 06:34:54 +00:00
Dean 8a062258e7 Merge pull request #10934 from ahmadmuj/fix/anyps5-relinker-gate-inputs
ci(build): run the relinker jobs for relinker-only build inputs outside core/relinker
2026-10-27 18:29:15 +13:00
plexerPK 46ac6233e9 fix(ci): preserve changed paths in test selection 2026-10-26 18:39:36 +01:00
Dean 4e43321bd6 Merge pull request #11008 from Dynoooooo/ci/skip-upstream-jobs-in-forks
ci: skip the upstream-only jobs in forks
2026-10-26 22:15:57 +13:00
MarcZX10 7bf29ea91b ci(windows): link host-only tests on pull requests 2026-10-26 07:57:14 +00:00
Dean 74974a3d68 Merge pull request #3456 from AMRYB/feat/web-input-mapper
feat(input): add browser-based input mapping configurator
2026-10-26 20:01:17 +13:00
Dean 63fa26aa68 Merge pull request #10067 from kiansaeidnia/fix/web-change-selection
fix(web): reset batch selection when changing apps
2026-10-26 06:14:10 +13:00
Brantley T. RobersonandClaude Opus 5.5 89fc74fa2b ci: skip the upstream-only jobs in forks
Forks inherit three jobs that cannot succeed there. Pages progress fails
on `gh api repos/<fork>/pages` (HTTP 404) after every push to main that
touches core/libs/prx, Pages fails at the release download or the
deployment, and the Build linux job waits for the self-hosted
`anyps5` runner, which forks don't have, until GitHub drops it. These
jobs now run only when the repository is not a fork.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 10:05:08 -04:00
Ahmad Mujahid eee902ac80 ci(build): run the relinker jobs for relinker-only build inputs outside core/relinker
The relinker eligibility list was written on 10-12 and missed inputs added to the relinker-only build since then: the nid sources that relinker_core and two relinker tests compile, the libkernel headers that ParamJsonParser.cpp includes, the pad command file test, the recompiler test targets and cache source tests, and the PR template and pr-overlap.yml that tools tests read. A pull request that changed only these got no automatic build, and a push to main skipped the macOS relinker hosts for them.

The recompiler is listed as a directory because shader_cache_runtime_sources copies all of core/shader/recompiler and hashes every file its CMakeLists globs, so an edit to any of them can change that test.

An edit to the relinker-asan job alone also skipped both relinker jobs, because only edits to the relinker job counted.
2026-10-25 14:58:21 +04:00
Dean Galvin 16996b5e64 revert: ci(windows): keep test temporary files on the runner's work disk (#10643)
This reverts commit da6c581a02, reversing changes made to 10a41a0d50.

On D:, the runner does not create 8.3 short names, so guest_named_shm_windows_short_temp and guest_named_shm_windows_long_short_temp skip and check_skips fails the Windows job.
2026-10-25 22:32:12 +13:00
Dean da6c581a02 Merge pull request #10643 from LeandroLP23/ci/windows-tests-temp-on-work-disk
ci(windows): keep test temporary files on the runner's work disk
2026-10-25 21:53:00 +13:00
LeandroLP23andClaude Opus 5.5 ae83030621 ci(windows): keep test temporary files on the runner's work disk
On windows-latest, TEMP is on C:, which writes 256 MiB in 1.9 s against
0.2 s on D:, where RUNNER_TEMP and the workspace live. The ctest step now
points TEMP and TMP at runner.temp. On a probe runner the optional byte-cap
capture test drops from a 6.4 s median to 1.3 s with four copies running,
and the git-heavy tool tests from 26-35 s to 24-26 s.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:15:57 +02:00
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
Kian 8c3de0cbd9 fix(web): reset batch selection when changing apps 2026-10-24 07:58:56 +10: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
Amr Yasser c75d7bfded fix(input): sync web mapper with current native actions 2026-10-20 20:01:45 +03:00
Amr Yasser 8644428aa7 ci(input): run mapper tests and clarify hosting documentation 2026-10-20 20:00:28 +03: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