From 03ac3bbc0077c8a1a07452ceee073bb28951f371 Mon Sep 17 00:00:00 2001 From: unkin-agent Date: Sat, 12 Sep 2026 00:44:47 +1000 Subject: [PATCH] ci: run each test suite as its own step A solution-wide test run reports one exit code, so a failing suite cannot be identified without the pipeline logs. - run the suites carrying HA tests as separate named steps - run the remaining upstream suites in one step after installing fontconfig --- .woodpecker/ci.yaml | 50 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/.woodpecker/ci.yaml b/.woodpecker/ci.yaml index e1a16dfdde..b579543128 100644 --- a/.woodpecker/ci.yaml +++ b/.woodpecker/ci.yaml @@ -23,15 +23,6 @@ variables: cpu: 4 steps: - # libSkiaSharp needs fontconfig to load and the SDK image does not ship it. - # Probed first so a package-mirror problem is not reported as a build failure. - - name: sysdeps - image: *sdk_image - commands: - - apt-get update - - apt-get install -y --no-install-recommends libfontconfig1 - backend_options: *k8s_resources - - name: restore image: *sdk_image environment: *dotnet_env @@ -47,10 +38,45 @@ steps: - dotnet build Jellyfin.sln -c Release --no-restore backend_options: *k8s_resources - - name: test + # Suites carrying the fork's HA tests, split out so a failure names the suite. + - name: test-api image: *sdk_image environment: *dotnet_env commands: - - apt-get update && apt-get install -y --no-install-recommends libfontconfig1 - - dotnet test Jellyfin.sln -c Release --no-build --verbosity minimal --filter "Category!=RequiresDocker&FullyQualifiedName!~Integration" + - dotnet test tests/Jellyfin.Api.Tests -c Release --no-build --verbosity minimal --filter "Category!=RequiresDocker&FullyQualifiedName!~Integration" + backend_options: *k8s_resources + + - name: test-mediaencoding + image: *sdk_image + environment: *dotnet_env + commands: + - dotnet test tests/Jellyfin.MediaEncoding.Tests -c Release --no-build --verbosity minimal --filter "Category!=RequiresDocker&FullyQualifiedName!~Integration" + backend_options: *k8s_resources + + - name: test-implementations + image: *sdk_image + environment: *dotnet_env + commands: + - dotnet test tests/Jellyfin.Server.Implementations.Tests -c Release --no-build --verbosity minimal --filter "Category!=RequiresDocker&FullyQualifiedName!~Integration" + backend_options: *k8s_resources + + - name: test-rest + image: *sdk_image + environment: *dotnet_env + commands: + # libSkiaSharp needs fontconfig to load and the SDK image does not ship it. + - apt-get update && apt-get install -y --no-install-recommends libfontconfig1 + - dotnet test tests/Jellyfin.Common.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.Controller.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.Drawing.Skia.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.Extensions.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.LiveTv.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.MediaEncoding.Hls.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.MediaEncoding.Keyframes.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.Model.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.Naming.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.Networking.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.Providers.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.Server.Tests -c Release --no-build --verbosity minimal + - dotnet test tests/Jellyfin.XbmcMetadata.Tests -c Release --no-build --verbosity minimal backend_options: *k8s_resources