ci(desktop): cache vlc-setup downloads, drop skipVlcSetup bypass
Replace the -PskipVlcSetup=true CI bypass with a per-OS GitHub Actions
cache of ~/.gradle/vlcSetup. Cache key is hashFiles('desktopApp/build.gradle.kts')
so a VLC version bump invalidates cleanly; restore-keys lets unrelated
edits to that file still warm-start.
Cache hit: vlcDownload / upxDownload are up-to-date and we never touch
get.videolan.org. Cache miss (first run after version bump, or a new
runner): we fall back to the network, where the existing 5-attempt
retry budget in build.gradle.kts already handles flakes.
The skipVlcSetup property + AMETHYST_SKIP_VLC env hooks stay in
desktopApp/build.gradle.kts as a local-dev / CCW escape hatch — the
CCW egress can't reach get.videolan.org at all and has no actions/cache.
This commit is contained in:
@@ -65,13 +65,23 @@ jobs:
|
|||||||
java-version: 21
|
java-version: 21
|
||||||
cache: gradle
|
cache: gradle
|
||||||
|
|
||||||
# `-PskipVlcSetup=true` disables the vlcDownload / upxDownload / vlcSetup
|
# Cache vlc-setup plugin downloads (VLC + UPX archives) keyed on the
|
||||||
# tasks (see desktopApp/build.gradle.kts). PR CI artifacts are smoke-test
|
# versions pinned in desktopApp/build.gradle.kts. Each OS gets its own
|
||||||
# only — get.videolan.org is too flaky from GitHub-hosted runners to gate
|
# cache namespace because the plugin downloads platform-specific archives.
|
||||||
# PRs on. Release packaging (create-release.yml) deliberately omits this
|
# On a hit the vlcDownload / upxDownload tasks are up-to-date and we
|
||||||
# flag so shipped artifacts still bundle VLC.
|
# never touch get.videolan.org; on a miss (version bump or new runner)
|
||||||
|
# we fall back to fetching, which is what the in-build retry budget
|
||||||
|
# exists for.
|
||||||
|
- name: Cache vlc-setup downloads
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.gradle/vlcSetup
|
||||||
|
key: vlcsetup-${{ runner.os }}-${{ hashFiles('desktopApp/build.gradle.kts') }}
|
||||||
|
restore-keys: |
|
||||||
|
vlcsetup-${{ runner.os }}-
|
||||||
|
|
||||||
- name: Test + Build Desktop (gradle)
|
- name: Test + Build Desktop (gradle)
|
||||||
run: ./gradlew :quartz:jvmTest :commons:jvmTest :nestsClient:jvmTest :cli:test :desktopApp:test :desktopApp:${{ matrix.desktop-task }} --no-daemon -PskipVlcSetup=true
|
run: ./gradlew :quartz:jvmTest :commons:jvmTest :nestsClient:jvmTest :cli:test :desktopApp:test :desktopApp:${{ matrix.desktop-task }} --no-daemon
|
||||||
|
|
||||||
# jpackage pins libicu to the build host's version (libicu74 on
|
# jpackage pins libicu to the build host's version (libicu74 on
|
||||||
# ubuntu-24.04). Rewrite the .deb so testers on other Debian/Ubuntu
|
# ubuntu-24.04). Rewrite the .deb so testers on other Debian/Ubuntu
|
||||||
|
|||||||
Reference in New Issue
Block a user