ci: configure Gradle actions and JDK setup (#2514)

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
James Rich
2025-07-23 11:21:48 -05:00
committed by GitHub
parent d369a63faf
commit 20fbb27e87
4 changed files with 23 additions and 70 deletions

View File

@@ -55,15 +55,19 @@ jobs:
ref: ${{ github.event.inputs.branch }}
submodules: 'recursive'
fetch-depth: 0
java-version: '21'
distribution: 'jetbrains'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Cache Gradle packages
uses: actions/cache@v4
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
build-scan-publish: true
build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service'
build-scan-terms-of-use-agree: 'yes'
add-job-summary: always
${{ runner.os }}-gradle-
- name: Validate Gradle wrapper
@@ -78,15 +82,6 @@ jobs:
KEYSTORE_FILENAME: ${{ secrets.KEYSTORE_FILENAME }}
KEYSTORE_PROPERTIES: ${{ secrets.KEYSTORE_PROPERTIES }}
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build F-Droid release
run: ./gradlew assembleFdroidRelease
env:

View File

@@ -22,32 +22,15 @@ jobs:
with:
fetch-depth: 0
submodules: 'recursive'
- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Cache Gradle User Home
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', '**/gradle.properties', '**/libs.versions.toml') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Cache Android build cache
uses: actions/cache@v4
with:
path: ~/.android/build-cache
key: android-build-cache-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', '**/gradle.properties', '**/libs.versions.toml') }}
restore-keys: |
android-build-cache-${{ runner.os }}-
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:

View File

@@ -29,28 +29,21 @@ jobs:
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Cache Gradle User Home
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle.properties', 'app/build.gradle.kts', 'buildSrc/build.gradle.kts') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
@@ -59,26 +52,7 @@ jobs:
build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service'
build-scan-terms-of-use-agree: 'yes'
add-job-summary: always
- name: Cache AVD
uses: actions/cache@v4
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-${{ matrix.api-level }}-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle.properties', 'app/build.gradle.kts', 'buildSrc/build.gradle.kts') }}
restore-keys: |
avd-${{ matrix.api-level }}-
- name: Create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86_64
force-avd-creation: false
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: echo "Generated AVD snapshot for caching."
- name: Run Android Instrumented Tests
uses: reactivecircus/android-emulator-runner@v2
env: