From 5c5235fb5197d6d5784b1eeb0aeba4f66ddbf7cf Mon Sep 17 00:00:00 2001 From: Ethan Lee 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 55435b4345..b24b8e540d 100755 --- a/.github/workflows/create-test-plan.py +++ b/.github/workflows/create-test-plan.py @@ -114,6 +114,7 @@ JOB_SPECS = { "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",