From 0148f374eefcc142dd4383936fd9d199000f8983 Mon Sep 17 00:00:00 2001 From: unkin-agent Date: Sat, 12 Sep 2026 00:57:51 +1000 Subject: [PATCH] ci: grant ephemeral storage and harden the package install The backup service test needs 5GiB free on the workspace and the apt mirror occasionally serves a half-synced index, so both fail the pipeline at random. - request and limit ephemeral storage on every step - retry apt-get update and verify fontconfig is loadable before testing - report workspace free space before the test run - run the full test filter again --- .woodpecker/ci.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.woodpecker/ci.yaml b/.woodpecker/ci.yaml index faa9d48dd8..4716b43f58 100644 --- a/.woodpecker/ci.yaml +++ b/.woodpecker/ci.yaml @@ -18,9 +18,11 @@ variables: requests: memory: 2Gi cpu: 2 + ephemeral-storage: 10Gi limits: memory: 8Gi cpu: 4 + ephemeral-storage: 20Gi steps: - name: restore @@ -38,13 +40,16 @@ steps: - dotnet build Jellyfin.sln -c Release --no-restore backend_options: *k8s_resources - # BackupServiceTests is excluded: BackupService refuses to run with less than - # 5GiB free on the backup path, and the pipeline workspace volume is smaller. - name: test 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 Jellyfin.sln -c Release --no-build --verbosity minimal --filter "Category!=RequiresDocker&FullyQualifiedName!~Integration&FullyQualifiedName!~BackupServiceTests" + # The mirror occasionally serves a half-synced index, so update is retried. + - apt-get -o Acquire::Retries=3 update || apt-get -o Acquire::Retries=3 update + - apt-get install -y --no-install-recommends libfontconfig1 + - ldconfig -p | grep -q libfontconfig + # BackupService refuses to run with less than 5GiB free on the backup path. + - df -h /woodpecker . && du -sh /woodpecker/nuget /woodpecker/src + - dotnet test Jellyfin.sln -c Release --no-build --verbosity minimal --filter "Category!=RequiresDocker&FullyQualifiedName!~Integration" backend_options: *k8s_resources