Fix release publish artifact download and per-job Gradle cache keys.

download-artifact accepts one glob pattern, not multiline lists; split platform and Android downloads. Scope Gradle build cache keys per job and use read-only setup-gradle on parallel jobs to avoid cache reservation races.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-14 02:00:10 +03:00
Unverified
parent 08e8a9c4eb
commit 49fe4c3aa9
4 changed files with 47 additions and 5 deletions
@@ -1,6 +1,11 @@
name: Restore Gradle build directories
description: Restore module build/ trees for faster CI Gradle jobs
inputs:
scope:
description: Unique id for this job (part of the cache key; use restore-keys to reuse other scopes)
required: true
outputs:
cache-hit:
description: Whether an exact cache key match was restored
@@ -21,6 +26,6 @@ runs:
app/android/build
utils/shared/build
utils/android/build
key: gradle-build-${{ runner.os }}-${{ runner.arch }}-v1-${{ hashFiles('gradle/libs.versions.toml', 'settings.gradle.kts', 'gradle.properties', 'app/desktop/build.gradle.kts', 'app/desktop/proguard-rules.pro', 'app/shared/build.gradle.kts', 'app/android/build.gradle.kts', 'utils/shared/build.gradle.kts', 'utils/android/build.gradle.kts') }}
key: gradle-build-${{ runner.os }}-${{ runner.arch }}-v1-${{ inputs.scope }}-${{ hashFiles('gradle/libs.versions.toml', 'settings.gradle.kts', 'gradle.properties', 'app/desktop/build.gradle.kts', 'app/desktop/proguard-rules.pro', 'app/shared/build.gradle.kts', 'app/android/build.gradle.kts', 'utils/shared/build.gradle.kts', 'utils/android/build.gradle.kts') }}
restore-keys: |
gradle-build-${{ runner.os }}-${{ runner.arch }}-v1-
@@ -1,5 +1,5 @@
name: Save Gradle build directories
description: Save module build/ trees after a Gradle build (always runs, even on cache hit)
description: Save module build/ trees after a Gradle build
inputs:
primary-key:
@@ -10,6 +10,7 @@ runs:
using: composite
steps:
- uses: actions/cache/save@v5
continue-on-error: true
with:
key: ${{ inputs.primary-key }}
path: |
+5 -1
View File
@@ -6,6 +6,10 @@ inputs:
description: Optional JDK architecture (x64). Omit for host default.
required: false
default: ""
cache-read-only:
description: Restore Gradle User Home only; do not save (avoids parallel cache write races).
required: false
default: "false"
runs:
using: composite
@@ -19,6 +23,6 @@ runs:
- uses: gradle/actions/setup-gradle@v5
with:
gradle-version: wrapper
cache-read-only: false
cache-read-only: ${{ inputs.cache-read-only == 'true' }}
cache-overwrite-existing: true
add-job-summary: on-failure