diff --git a/.gitea/workflows/android-screenshots.yml b/.gitea/workflows/android-screenshots.yml index eb6caffe..444a6e8e 100644 --- a/.gitea/workflows/android-screenshots.yml +++ b/.gitea/workflows/android-screenshots.yml @@ -26,7 +26,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: JDK 21 (AGP 9.2 + Robolectric's SDK-36 android-all jar both want 17–21) + - name: JDK 21 (AGP 9.3 + Robolectric's SDK-36 android-all jar both want 17–21) uses: actions/setup-java@v4 with: distribution: temurin @@ -47,7 +47,10 @@ jobs: path: | ~/.gradle/caches ~/.gradle/wrapper - key: android-screenshots-${{ hashFiles('clients/android/**/*.gradle.kts') }} + # gradle-wrapper.properties is in the key on purpose: `~/.gradle/wrapper` caches the + # Gradle DISTRIBUTION, so a wrapper bump with no .gradle.kts change would otherwise + # restore a key that can never hold the new one. + key: android-screenshots-${{ hashFiles('clients/android/**/*.gradle.kts', 'clients/android/gradle/wrapper/gradle-wrapper.properties') }} restore-keys: android-screenshots- # Roborazzi renders Compose on the JVM (Robolectric Native Graphics). `-PskipRustBuild` keeps diff --git a/.gitea/workflows/android.yml b/.gitea/workflows/android.yml index 5e4bba23..90812150 100644 --- a/.gitea/workflows/android.yml +++ b/.gitea/workflows/android.yml @@ -34,7 +34,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: JDK 21 (AGP 9.2 runs on JDK 17–21, not the host default) + - name: JDK 21 (AGP 9.3 runs on JDK 17–21, not the host default) uses: actions/setup-java@v4 with: distribution: temurin @@ -81,7 +81,8 @@ jobs: ~/.gradle/caches ~/.gradle/wrapper target - key: android-${{ hashFiles('Cargo.lock', 'clients/android/**/*.gradle.kts') }} + # gradle-wrapper.properties is in the key on purpose — see android-screenshots.yml. + key: android-${{ hashFiles('Cargo.lock', 'clients/android/**/*.gradle.kts', 'clients/android/gradle/wrapper/gradle-wrapper.properties') }} restore-keys: android- - name: cargo-ndk diff --git a/clients/android/build.gradle.kts b/clients/android/build.gradle.kts index 71d5a753..eaf8d97f 100644 --- a/clients/android/build.gradle.kts +++ b/clients/android/build.gradle.kts @@ -2,7 +2,7 @@ // org.jetbrains.kotlin.android (it's an error under AGP 9). The Compose compiler plugin is declared // here (version + apply false) so modules can apply it version-less; its version pins the build's // Kotlin (compose-compiler and Kotlin release in lockstep), keeping them matched. -// Toolchain: AGP 9.2.0 · Gradle 9.4.1 · Kotlin/Compose-compiler 2.3.21 · JDK 21 · Compose BOM +// Toolchain: AGP 9.3.1 · Gradle 9.5.0 · Kotlin/Compose-compiler 2.3.21 · JDK 21 · Compose BOM // 2026.05.01 · compileSdk 37 · targetSdk 37 · minSdk 28. plugins { id("com.android.application") version "9.3.1" apply false