diff --git a/.github/actions/cache-gradle-build/action.yml b/.github/actions/cache-gradle-build/action.yml index d930bfb..880c828 100644 --- a/.github/actions/cache-gradle-build/action.yml +++ b/.github/actions/cache-gradle-build/action.yml @@ -9,7 +9,7 @@ inputs: outputs: cache-hit: description: Whether an exact cache key match was restored - value: ${{ steps.cache.outputs.cache-hit }} + value: ${{ steps.cache.outputs.cache-hit == 'true' || steps.cache-android.outputs.cache-hit == 'true' }} cache-save-scope: description: Scope to pass to the save action (always this job's scope, not a restored fallback key) value: ${{ inputs.scope }} @@ -18,6 +18,23 @@ runs: using: composite steps: - uses: actions/cache/restore@v5 + if: inputs.scope == 'android' + id: cache-android + with: + path: | + .gradle + build + app/shared/build + app/android/build + utils/shared/build + utils/android/build + key: gradle-build-${{ runner.os }}-${{ runner.arch }}-v2-${{ inputs.scope }}-${{ hashFiles('gradle/libs.versions.toml', 'settings.gradle.kts', 'gradle.properties', 'build.gradle.kts', '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 }}-v2-${{ inputs.scope }}- + gradle-build-${{ runner.os }}-${{ runner.arch }}-v2-build-jar- + gradle-build-${{ runner.os }}-${{ runner.arch }}-v2- + - uses: actions/cache/restore@v5 + if: inputs.scope != 'android' id: cache with: path: | diff --git a/.github/actions/cache-windows-rust-tools/action.yml b/.github/actions/cache-windows-rust-tools/action.yml index 021c88a..9861416 100644 --- a/.github/actions/cache-windows-rust-tools/action.yml +++ b/.github/actions/cache-windows-rust-tools/action.yml @@ -16,6 +16,9 @@ runs: ~/.cargo/registry ~/.cargo/git app/desktop/windows-setup/target - key: windows-rust-${{ runner.os }}-v2-${{ hashFiles('app/desktop/windows-setup/Cargo.lock', 'app/desktop/windows-setup/Cargo.toml', 'app/desktop/windows-setup/**/src/**', 'app/desktop/windows-setup/**/build.rs') }} + key: windows-rust-${{ runner.os }}-v3-${{ hashFiles('app/desktop/windows-setup/Cargo.lock') }} restore-keys: | + windows-rust-${{ runner.os }}-v3- windows-rust-${{ runner.os }}-v2- + windows-rust-tools-v1- + cargo-registry-${{ runner.os }}- diff --git a/.github/actions/save-gradle-build-cache/action.yml b/.github/actions/save-gradle-build-cache/action.yml index c5bf84c..6eae838 100644 --- a/.github/actions/save-gradle-build-cache/action.yml +++ b/.github/actions/save-gradle-build-cache/action.yml @@ -9,7 +9,22 @@ inputs: runs: using: composite steps: - - uses: actions/cache/save@v5 + - name: Save Android Gradle build cache + if: inputs.scope == 'android' + uses: actions/cache/save@v5 + continue-on-error: true + with: + key: gradle-build-${{ runner.os }}-${{ runner.arch }}-v2-${{ inputs.scope }}-${{ hashFiles('gradle/libs.versions.toml', 'settings.gradle.kts', 'gradle.properties', 'build.gradle.kts', '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') }} + path: | + .gradle + build + app/shared/build + app/android/build + utils/shared/build + utils/android/build + - name: Save Gradle build cache + if: inputs.scope != 'android' + uses: actions/cache/save@v5 continue-on-error: true with: key: gradle-build-${{ runner.os }}-${{ runner.arch }}-v2-${{ inputs.scope }}-${{ hashFiles('gradle/libs.versions.toml', 'settings.gradle.kts', 'gradle.properties', 'build.gradle.kts', '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') }} diff --git a/.github/actions/save-windows-rust-cache/action.yml b/.github/actions/save-windows-rust-cache/action.yml index edd9abb..8ff50e2 100644 --- a/.github/actions/save-windows-rust-cache/action.yml +++ b/.github/actions/save-windows-rust-cache/action.yml @@ -7,7 +7,7 @@ runs: - uses: actions/cache/save@v5 continue-on-error: true with: - key: windows-rust-${{ runner.os }}-v2-${{ hashFiles('app/desktop/windows-setup/Cargo.lock', 'app/desktop/windows-setup/Cargo.toml', 'app/desktop/windows-setup/**/src/**', 'app/desktop/windows-setup/**/build.rs') }} + key: windows-rust-${{ runner.os }}-v3-${{ hashFiles('app/desktop/windows-setup/Cargo.lock') }} path: | ~/.cargo/registry ~/.cargo/git diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1d15ee1..92b8261 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,7 @@ on: default: "false" concurrency: - group: release-${{ github.ref }} + group: release cancel-in-progress: true env: @@ -414,6 +414,8 @@ jobs: id: gradle-build-cache with: scope: android + - name: Prepare Android SDK cache dirs + run: mkdir -p ~/.android/build-cache ~/.android/cache - name: Cache Android SDK extras uses: actions/cache@v5 with: