Commit Graph
233 Commits
Author SHA1 Message Date
libretroadmin 79b2c98cc7 CI: the UBSan row fails on a report
The ubsan row built with -fsanitize=undefined alone, which prints a
report and carries on: a suite that reached undefined behaviour still
passed, and the row was green whatever UBSan found. With the round-mode
fix reverted, dbload's apply lane reports the read past the name table
in this configuration and still exits 0.
-fno-sanitize-recover=undefined makes the first report end the run.
Every suite passes with it.
2026-11-04 03:57:01 +01:00
libretroadmin 608bbb6fa7 tests: the OpenGL renderer on a frontend of its own
The GSdx OpenGL renderer had no frontend among the tests: nothing ran it
here, and a change to it went out tried on the Vulkan renderer alone.
tests/glnegotiate is one, as tests/vknegotiate is for Vulkan: an OpenGL
3.3 core context from EGL on a surfaceless display, no window or X
server, so Mesa's llvmpipe serves; the frontend's framebuffer for the
core to draw into (get_current_framebuffer) and its entry points
(get_proc_address), as RetroArch gives them; the frame taken in the
video callback as RETRO_HW_FRAME_BUFFER_VALID. EGL and GL are opened at
run time and declared in the harness, so it builds without their
headers and skips without them.

After the frames the picture is read back, rows top first as the Vulkan
frontend reads an image, hashed the same way (GN_RGB leaves the alpha
out), and dumped on request (GN_DUMP). build.sh boots eleven of
tests/swdraw's cases on it and holds each picture to the Vulkan
renderer's of the same case: on Mesa the two draw them to the pixel
(sprites, points, lines, mipmaps, the depth states, the destination
alpha test, CLUT draws and the dynamic siblings' cases). The 4-bit read
of a target, which Vulkan draws through its GPU view, only has to run.
The suite takes eighteen seconds. The Tests workflow installs EGL and
Mesa's software driver so it runs there.
2026-11-03 02:48:46 +01:00
libretroadmin 1457fdf678 CDVD: include <stdlib.h> for abs() in Ps1CD.c, and build arm64 in CI
Ps1CD.c calls abs() with nothing declaring it. On x86-64 the intrinsics
headers bring <stdlib.h> in through the common headers, so the call
compiles there; on arm64 nothing does, and the Android arm64-v8a and
webOS aarch64 jobs fail on the undeclared call.

Undeclared calls in C files are now an error on every GCC and Clang, not
only Clang and GCC 14, and a new workflow builds the core for Android
arm64-v8a and for aarch64 GCC in the webOS shape so these show up before
they reach master.
2026-10-31 13:45:50 +01:00
LibretroAdmin ccf1b9a19b tests/spsc: the racy half runs many times, and CI runs it that way
The WaitForEmpty defect that reached master (f50ea8b89) was found by
this suite on a loaded multi-core host - about a dozen early returns in
fifty thousand items - and the same suite passes every time on a quiet
single-core one. A race caught once in five runs is not caught by a
CI job that runs it once.

The producer/consumer half repeats WORKSEMA_REPS times, default one, and
the workflow sets two hundred. Only the last repetition prints its
counts unless one fails, in which case the run stops there and prints
that one. The deterministic halves - the contract and the state check -
run once, as they always did.

The suite already runs in CI through tests/run-all.sh, which picks up
every directory with a build.sh; what it did not do was repeat.

Passes here, plain and under TSan, at the default and at forty.
2026-09-20 00:38:46 +02:00
libretroadmin 6735e35a93 tests: a settings reload keeps the runtime state, and CI runs the suites
Two gaps, both of which let 0b7ca9035 through.

The settings suite tested the new surface -- the fixups, the folder
rules, the path truncation -- and never that a settings reload still did
what the settings map did. The map wrote only the entries it held, so
UseBOOT2Injection, the IRX and game-argument strings and the memory card
types passed through untouched; assigning the option config over
EmuConfig wrote them too, and fast boot reverted on every settings
change, taking the region and refresh rate with it. The suite now models
what ApplySettings does -- reset, carry the runtime config across,
reload -- and asserts both halves: the runtime state survives and a
field the options set still takes the option's value. Reintroducing the
assignment fails it.

And nothing in CI ran any of this. Sixteen suites, each with a build.sh,
covering the interpreter and both recompilers against the hardware
tests, the emitter, the settings path, the CDVD readers, the MTVU ring
and the fault handler, and no workflow invoked one of them. There is one
now: three rows -- plain, ASan, UBSan -- over run-all.sh, which finds
its suites, so a suite added later needs no change here. Twelve build
from SANFLAGS; the four concurrency ones run TSan themselves in every
row, which is the sanitizer that finds anything there.

The hardware-test suites check far less without the PS2 and PS1 test
images, which a hosted runner does not have, so a second job prints
which suites those are rather than letting a green tick imply they ran.
2026-09-19 00:04:15 +02:00
hizzlekizzle 14634a52ea add deps for linux_build_libretro.yml 2024-05-07 19:29:26 -05:00
hizzlekizzle 4c6b62dec5 fix error with linux_build_libretro.yml 2024-05-07 18:49:13 -05:00
hizzlekizzle 292366f0a4 Create linux_build_libretro.yml 2024-05-07 18:46:42 -05:00
refractionpcsx2 ded971a3ec Build: Fix Qtdir for windows build workdflows 2023-04-25 22:57:05 +01:00
Stenzek b3a88d6ea7 Qt: Migrate to 6.5.0 on Windows 2023-04-25 21:53:30 +01:00
Connor McLaughlin 1d7a69ad40 AppImage: Include libxcb-cursor 2023-04-13 10:51:09 +01:00
TellowKrinkle 128cf9b57d 3rdparty:macOS: Update to Qt 6.4.3
Gives us 5 more months to decide whether we want to use 6.2 LTS or drop macOS 10.14 and macOS 10.15 support
2023-04-13 08:27:49 +01:00
TellowKrinkle e5b7adb228 3rdparty:linux: Update to Qt 6.5.0 2023-04-13 08:27:49 +01:00
TellowKrinkle bd5ae66fbe 3rdparty: Update SDL to 2.26.5 2023-04-13 08:27:49 +01:00
dependabot[bot] f61f7bb711 Bump peter-evans/create-pull-request from 4 to 5
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 4 to 5.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v4...v5)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-04-10 16:13:04 +02:00
JordanTheToaster 93014bfede CI: Switch Windows Qt builds to Clang
Switches the Qt builds over to using Clang by default which should be a bit faster overall.
2023-03-30 09:27:10 +01:00
JordanTheToaster 4dd946bc8a CI: Remove separate Windows builds
Removes the AVX2 and SSE4 builds in favour of the unified Qt build.
2023-03-29 20:00:51 -05:00
Stenzek 1499994143 CI: Update Linux to Qt 6.4.3 and SDL2 2.26.4 2023-03-20 15:46:32 +00:00
Stenzek 8c8bf22892 CI: Build libbacktrace in Linux deps 2023-03-20 15:46:32 +00:00
TellowKrinkle 0ba1a42867 CI:macOS: Use xz for distribution
macOS 10.14 fixed a bug where Archive Utility couldn't decompress .tar.xz and is now our minimum version
2023-03-17 03:18:02 +01:00
TellowKrinkle b90405a7d2 GHActions:Windows: Add CMake clang-cl build 2023-03-13 20:45:12 +00:00
TellowKrinkle 2cd5ce6aea GHActions: Update release pipeline for MultiISA 2023-01-25 18:27:06 -06:00
Stenzek 771d3c3c9d CI: Retry downloading commands on Linux
The Azure Ubuntu package server, in particular, seems to be very
unreliable. Hopefully within 10 attempts it'll complete the package
download in such cases.
2023-01-13 09:30:46 +00:00
Stenzek 33e7bcbdb8 UnitTests: Compile with PCSX2 core library
Instead of shoehorning GS source files into the unit tests, we link with
the full PCSX2 core library. We stub out all the Host functions, as,
well, there isn't one, and they may be indirectly referenced.
2023-01-04 11:43:23 +00:00
Stenzek 246f783a64 CI: Generate Windows Clang builds 2023-01-03 12:16:50 +00:00
Stenzek f240660a6e CMake: Post-WX cleanup
- Remove unused build options

 - Disable setcap by default
    Applications should not need to call sudo as part of the build process.

 - Rename XDG_STD to USE_LEGACY_USER_DIRECTORY
    By default, we use ~/.config/PCSX2 now.

 - Default Wayland support to on
    I don't think there's any systems worth supporting that don't have it.

 - Rework "install" logic
    Linux no longer installs to GIT_ROOT/bin, it builds direct to BUILD/bin.
    Saves a file copy, and running make install before running your developer
    build was always silly.

 - Don't require install target to build appimage
    AppImage creator now just adds the entire bin directory as-is.
    Everything needed is in there.
2023-01-02 14:13:42 +00:00
lightningterror 2de6a5029f gh-workflows-macos: Remove leftover wx dependencies.
Also remove qt gui check since it's the only gui we use.
2023-01-02 08:50:43 +01:00
Mrlinkwii 8681eb0251 CI : remove mention to wxWidgets in MAC build-dependencies 2022-12-29 09:37:40 +01:00
Stenzek 2b99f3c753 pcsx2-wx: Finally remove it all 2022-12-24 08:42:23 +00:00
Stenzek 7cb22815e6 CI: Remove wx builds 2022-12-24 07:59:22 +00:00
TellowKrinkle a8382ceb50 GHActions: Switch linux release pipeline to full lto
Missed that last time
2022-12-03 14:42:22 -06:00
TellowKrinkle 22f214c8e1 GHActions: Check multi-isa builds for global constructors 2022-12-03 00:52:10 -06:00
TellowKrinkle 9ff2dd6be1 GHActions:Windows: Enable multi-isa builds in cmake 2022-12-03 00:52:10 -06:00
lightningterror 3d551e384a workflows: Remove external shaders directory from appimage. 2022-11-29 09:46:31 +01:00
TellowKrinkle bb2016889a 3rdparty: Update SDL to 2.26.0 2022-11-25 23:47:32 -06:00
AKuHAK 2ab27ef42a formatter: apply editorconig into various files 2022-11-25 22:41:00 +00:00
Connor McLaughlin db8fb7f5a3 AppImage: Don't change current working directory 2022-11-25 10:25:28 +00:00
Connor McLaughlin 129fddf07c Qt: Switch to 6.4.0 on Windows 2022-11-20 17:25:55 +00:00
Connor McLaughlin 8f4e01e004 CI: Change Windows builders to VS2022 2022-11-20 11:35:16 +01:00
Tyler Wilding fba0e5932f ci: use the json schema to validate the GameDB 2022-11-15 12:15:42 +01:00
Tyler Wilding d1459650e1 ci/lint: remove GameDB python lint script, replace with json-schema 2022-11-15 12:15:42 +01:00
Tyler Wilding 212b2aea16 releases: allow publishing discord announcements to multiple webhooks 2022-11-08 17:44:00 +00:00
refractionpcsx2 5321ca913e EE: Implement Instant DMA hack for some cache problematic games
Bump savestate version for new dma stall flag

[SAVEVERSION+]
2022-11-07 18:56:04 +00:00
dependabot[bot] 3e878f5124 Bump mathieudutour/github-tag-action from 6.0 to 6.1
Bumps [mathieudutour/github-tag-action](https://github.com/mathieudutour/github-tag-action) from 6.0 to 6.1.
- [Release notes](https://github.com/mathieudutour/github-tag-action/releases)
- [Commits](https://github.com/mathieudutour/github-tag-action/compare/v6.0...v6.1)

---
updated-dependencies:
- dependency-name: mathieudutour/github-tag-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-11-03 21:50:57 +00:00
refractionpcsx2 bc2f576b30 GS-HW: SW Render CLUT draws 2022-10-30 14:46:11 +00:00
TellowKrinkle 65aeeba567 GHActions: Migrate to new variable output system 2022-10-20 09:30:00 +01:00
TellowKrinkle f37fd29fd0 CMake:Windows: Add install step 2022-10-19 15:50:43 -05:00
TellowKrinkle 310ed9af0d GHActions: Add CMake Qt build 2022-10-19 15:50:43 -05:00
Connor McLaughlin 6b0564d6e4 Qt: Add automatic updater for Linux 2022-10-15 17:37:49 +01:00
TellowKrinkle af1888b21a GHActions:macOS: Remove unused dependencies 2022-10-08 22:41:59 +01:00