ci: Add Steam Linux Runtime (Sniper) task

This commit is contained in:
Ethan Lee 2024-10-28 16:08:57 -04:00
parent 36c209080c
commit 5c5235fb51
1 changed files with 36 additions and 34 deletions

View File

@ -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, ), "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-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", ), "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-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, ), "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, ), "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: case MsvcArch.X64:
job.setup_libusb_arch = "x64" job.setup_libusb_arch = "x64"
case SdlPlatform.Linux: case SdlPlatform.Linux:
job.apt_packages.extend(( if spec.name.startswith("Ubuntu"):
"gnome-desktop-testing", assert spec.os.value.startswith("ubuntu-")
"libasound2-dev", job.apt_packages.extend((
"libpulse-dev", "gnome-desktop-testing",
"libaudio-dev", "libasound2-dev",
"libjack-dev", "libpulse-dev",
"libsndio-dev", "libaudio-dev",
"libusb-1.0-0-dev", "libjack-dev",
"libx11-dev", "libsndio-dev",
"libxext-dev", "libusb-1.0-0-dev",
"libxrandr-dev", "libx11-dev",
"libxcursor-dev", "libxext-dev",
"libxfixes-dev", "libxrandr-dev",
"libxi-dev", "libxcursor-dev",
"libxss-dev", "libxfixes-dev",
"libwayland-dev", "libxi-dev",
"libxkbcommon-dev", "libxss-dev",
"libdrm-dev", "libwayland-dev",
"libgbm-dev", "libxkbcommon-dev",
"libgl1-mesa-dev", "libdrm-dev",
"libgles2-mesa-dev", "libgbm-dev",
"libegl1-mesa-dev", "libgl1-mesa-dev",
"libdbus-1-dev", "libgles2-mesa-dev",
"libibus-1.0-dev", "libegl1-mesa-dev",
"libudev-dev", "libdbus-1-dev",
"fcitx-libs-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: if trackmem_symbol_names:
# older libunwind is slow # older libunwind is slow
job.cmake_arguments.append("-DSDLTEST_TIMEOUT_MULTIPLIER=2") 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.shared_lib = SharedLibType.SO_0
job.static_lib = StaticLibType.A job.static_lib = StaticLibType.A
fpic = True 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: case SdlPlatform.Ios | SdlPlatform.Tvos:
job.brew_packages.extend([ job.brew_packages.extend([
"ninja", "ninja",