From 5c5235fb5197d6d5784b1eeb0aeba4f66ddbf7cf Mon Sep 17 00:00:00 2001
From: Ethan Lee <[EMAIL REDACTED]>
Date: Mon, 28 Oct 2024 16:08:57 -0400
Subject: [PATCH] ci: Add Steam Linux Runtime (Sniper) task
---
.github/workflows/create-test-plan.py | 70 ++++++++++++++-------------
1 file changed, 36 insertions(+), 34 deletions(-)
diff --git a/.github/workflows/create-test-plan.py b/.github/workflows/create-test-plan.py
index 55435b4345827..b24b8e540dc45 100755
--- a/.github/workflows/create-test-plan.py
+++ b/.github/workflows/create-test-plan.py
@@ -114,6 +114,7 @@ class JobSpec:
"msvc-gdk-x64": JobSpec(name="GDK (MSVC, x64)", os=JobOs.WindowsLatest, platform=SdlPlatform.Msvc, artifact="SDL-VC-GDK", msvc_arch=MsvcArch.X64, msvc_project="VisualC-GDK/SDL.sln", gdk=True, no_cmake=True, ),
"ubuntu-20.04": JobSpec(name="Ubuntu 20.04", os=JobOs.Ubuntu20_04, platform=SdlPlatform.Linux, artifact="SDL-ubuntu20.04", ),
"ubuntu-22.04": JobSpec(name="Ubuntu 22.04", os=JobOs.Ubuntu22_04, platform=SdlPlatform.Linux, artifact="SDL-ubuntu22.04", ),
+ "steamrt-sniper": JobSpec(name="Steam Linux Runtime (Sniper)", os=JobOs.UbuntuLatest, platform=SdlPlatform.Linux, artifact="SDL-slrsniper", container="registry.gitlab.steamos.cloud/steamrt/sniper/sdk:beta", ),
"ubuntu-intel-icx": JobSpec(name="Ubuntu 20.04 (Intel oneAPI)", os=JobOs.Ubuntu20_04, platform=SdlPlatform.Linux, artifact="SDL-ubuntu20.04-oneapi", intel=IntelCompiler.Icx, ),
"ubuntu-intel-icc": JobSpec(name="Ubuntu 20.04 (Intel Compiler)", os=JobOs.Ubuntu20_04, platform=SdlPlatform.Linux, artifact="SDL-ubuntu20.04-icc", intel=IntelCompiler.Icc, ),
"macos-framework-x64": JobSpec(name="MacOS (Framework) (x64)", os=JobOs.Macos13, platform=SdlPlatform.MacOS, artifact="SDL-macos-framework", apple_framework=True, apple_archs={AppleArch.Aarch64, AppleArch.X86_64, }, xcode=True, ),
@@ -406,46 +407,47 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta
case MsvcArch.X64:
job.setup_libusb_arch = "x64"
case SdlPlatform.Linux:
- job.apt_packages.extend((
- "gnome-desktop-testing",
- "libasound2-dev",
- "libpulse-dev",
- "libaudio-dev",
- "libjack-dev",
- "libsndio-dev",
- "libusb-1.0-0-dev",
- "libx11-dev",
- "libxext-dev",
- "libxrandr-dev",
- "libxcursor-dev",
- "libxfixes-dev",
- "libxi-dev",
- "libxss-dev",
- "libwayland-dev",
- "libxkbcommon-dev",
- "libdrm-dev",
- "libgbm-dev",
- "libgl1-mesa-dev",
- "libgles2-mesa-dev",
- "libegl1-mesa-dev",
- "libdbus-1-dev",
- "libibus-1.0-dev",
- "libudev-dev",
- "fcitx-libs-dev",
- ))
+ if spec.name.startswith("Ubuntu"):
+ assert spec.os.value.startswith("ubuntu-")
+ job.apt_packages.extend((
+ "gnome-desktop-testing",
+ "libasound2-dev",
+ "libpulse-dev",
+ "libaudio-dev",
+ "libjack-dev",
+ "libsndio-dev",
+ "libusb-1.0-0-dev",
+ "libx11-dev",
+ "libxext-dev",
+ "libxrandr-dev",
+ "libxcursor-dev",
+ "libxfixes-dev",
+ "libxi-dev",
+ "libxss-dev",
+ "libwayland-dev",
+ "libxkbcommon-dev",
+ "libdrm-dev",
+ "libgbm-dev",
+ "libgl1-mesa-dev",
+ "libgles2-mesa-dev",
+ "libegl1-mesa-dev",
+ "libdbus-1-dev",
+ "libibus-1.0-dev",
+ "libudev-dev",
+ "fcitx-libs-dev",
+ ))
+ ubuntu_year, ubuntu_month = [int(v) for v in spec.os.value.removeprefix("ubuntu-").split(".", 1)]
+ if ubuntu_year >= 22:
+ job.apt_packages.extend(("libpipewire-0.3-dev", "libdecor-0-dev"))
+ job.apt_packages.extend((
+ "libunwind-dev", # For SDL_test memory tracking
+ ))
if trackmem_symbol_names:
# older libunwind is slow
job.cmake_arguments.append("-DSDLTEST_TIMEOUT_MULTIPLIER=2")
- job.apt_packages.extend((
- "libunwind-dev", # For SDL_test memory tracking
- ))
job.shared_lib = SharedLibType.SO_0
job.static_lib = StaticLibType.A
fpic = True
- assert spec.os.value.startswith("ubuntu-")
- ubuntu_year, ubuntu_month = [int(v) for v in spec.os.value.removeprefix("ubuntu-").split(".", 1)]
- if ubuntu_year >= 22:
- job.apt_packages.extend(("libpipewire-0.3-dev", "libdecor-0-dev"))
case SdlPlatform.Ios | SdlPlatform.Tvos:
job.brew_packages.extend([
"ninja",