ci(desktop): wrap desktop build in retry to survive vlcDownload flakes

The Windows leg of the Test/Build workflow has been intermittently failing
with SocketTimeoutException inside :desktopApp:vlcDownload, even after the
in-build retry budget (retries(4) + 5min readTimeout in
desktopApp/build.gradle.kts) and the actions/cache of ~/.gradle/vlcSetup.
When get.videolan.org is unreachable for long enough to exhaust the inner
retries, the whole job dies on a cache miss.

Wrap the Test+Build step in nick-fields/retry@v4 (max_attempts: 2,
timeout_minutes: 45) so one outer retry can ride out a sustained
videolan.org outage. This mirrors the proven pattern already used in
create-release.yml for the release artifact build.
This commit is contained in:
Claude
2026-05-06 18:57:01 +00:00
parent ddef13cabc
commit cb428be28e
+12 -1
View File
@@ -94,8 +94,19 @@ jobs:
restore-keys: |
vlcsetup-${{ runner.os }}-
# Wrap the Gradle invocation in nick-fields/retry so a transient
# SocketTimeoutException inside vlcDownload / upxDownload (the de.undercouch
# Download tasks talking to get.videolan.org) doesn't sink the whole job.
# The in-build retry budget (retries(4) + 5min readTimeout in
# desktopApp/build.gradle.kts) handles short blips inside one task; this
# outer retry handles the case where get.videolan.org is unreachable for
# long enough to exhaust that budget — matches the release workflow.
- name: Test + Build Desktop (gradle)
run: ./gradlew :quartz:jvmTest :commons:jvmTest :nestsClient:jvmTest :cli:test :desktopApp:test :desktopApp:${{ matrix.desktop-task }}
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0
with:
max_attempts: 2
timeout_minutes: 45
command: ./gradlew :quartz:jvmTest :commons:jvmTest :nestsClient:jvmTest :cli:test :desktopApp:test :desktopApp:${{ matrix.desktop-task }}
# jpackage pins libicu to the build host's version (libicu74 on
# ubuntu-24.04). Rewrite the .deb so testers on other Debian/Ubuntu