From 72acd7c9df3f50178a5fe3a0424220a42a421cbf Mon Sep 17 00:00:00 2001 From: Ozkan Sezer Date: Sat, 30 Aug 2025 01:55:02 +0300 Subject: [PATCH] CI: add OpenBSD workflow (cherry picked from commit c0e5fd55d2692922252282e389063fc5dc9bf13a) --- .github/workflows/create-test-plan.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-test-plan.py b/.github/workflows/create-test-plan.py index cfe64ba410..9d4fee10bd 100755 --- a/.github/workflows/create-test-plan.py +++ b/.github/workflows/create-test-plan.py @@ -54,6 +54,7 @@ class SdlPlatform(Enum): Riscos = "riscos" FreeBSD = "freebsd" NetBSD = "netbsd" + OpenBSD = "openbsd" class Msys2Platform(Enum): @@ -137,6 +138,7 @@ JOB_SPECS = { "vita-pvr": JobSpec(name="Sony PlayStation Vita (GLES w/ PVR_PSP2)", os=JobOs.UbuntuLatest, platform=SdlPlatform.Vita, artifact="SDL-vita-pvr", container="vitasdk/vitasdk:latest", vita_gles=VitaGLES.Pvr, ), "riscos": JobSpec(name="RISC OS", os=JobOs.UbuntuLatest, platform=SdlPlatform.Riscos, artifact="SDL-riscos", container="riscosdotinfo/riscos-gccsdk-4.7:latest", ), "netbsd": JobSpec(name="NetBSD", os=JobOs.UbuntuLatest, platform=SdlPlatform.NetBSD, artifact="SDL-netbsd-x64", ), + "openbsd": JobSpec(name="OpenBSD", os=JobOs.UbuntuLatest, platform=SdlPlatform.OpenBSD, artifact="SDL-openbsd-x64", ), "freebsd": JobSpec(name="FreeBSD", os=JobOs.UbuntuLatest, platform=SdlPlatform.FreeBSD, artifact="SDL-freebsd-x64", ), } @@ -724,7 +726,7 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta )) job.cmake_toolchain_file = "/home/riscos/env/toolchain-riscos.cmake" job.static_lib = StaticLibType.A - case SdlPlatform.FreeBSD | SdlPlatform.NetBSD: + case SdlPlatform.FreeBSD | SdlPlatform.NetBSD | SdlPlatform.OpenBSD: job.cpactions = True job.no_cmake = True job.run_tests = False @@ -748,6 +750,12 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta job.cpactions_arch = "x86-64" job.cpactions_setup_cmd = "export PATH=\"/usr/pkg/sbin:/usr/pkg/bin:/sbin:$PATH\"; export PKG_CONFIG_PATH=\"/usr/pkg/lib/pkgconfig\";export PKG_PATH=\"https://cdn.netBSD.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r|cut -f \"1 2\" -d.)/All/\";echo \"PKG_PATH=$PKG_PATH\";echo \"uname -a -> \"$(uname -a)\"\";sudo -E sysctl -w security.pax.aslr.enabled=0;sudo -E sysctl -w security.pax.aslr.global=0;sudo -E pkgin clean;sudo -E pkgin update" job.cpactions_install_cmd = "sudo -E pkgin -y install cmake dbus pkgconf ninja-build pulseaudio libxkbcommon wayland wayland-protocols libinotify libusb1" + case SdlPlatform.OpenBSD: + job.cpactions_os = "openbsd" + job.cpactions_version = "7.4" + job.cpactions_arch = "x86-64" + job.cpactions_setup_cmd = "sudo pkg_add -u" + job.cpactions_install_cmd = "sudo pkg_add cmake ninja pkgconf wayland wayland-protocols xwayland libxkbcommon libinotify pulseaudio dbus ibus" case _: raise ValueError(f"Unsupported platform={spec.platform}")