Meshtastic-Android/.github/actions/gradle-setup/action.yml
renovate[bot] 6f5fa49b94
chore(deps): update actions/cache action to v5 (#5046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 11:07:46 -05:00

45 lines
No EOL
1.5 KiB
YAML

name: Gradle Setup
description: Setup Java and Gradle for KMP builds
inputs:
cache_read_only:
description: 'Whether Gradle cache is read-only'
default: 'true'
jdk_distribution:
description: 'JDK distribution (temurin or jetbrains)'
default: 'temurin'
gradle_encryption_key:
description: 'Encryption key for Gradle remote cache'
required: false
runs:
using: composite
steps:
- name: Copy CI Gradle properties
shell: bash
run: mkdir -p ~/.gradle && cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v6
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: ${{ inputs.jdk_distribution }}
token: ${{ github.token }}
# Robolectric downloads instrumented SDK jars from Maven Central at test time.
# Cache them to avoid flaky SocketException failures on CI runners.
# Update the key when bumping robolectric version in libs.versions.toml or sdk in robolectric.properties.
- name: Cache Robolectric SDK jars
uses: actions/cache@v5
with:
path: ~/.m2/repository/org/robolectric
key: robolectric-4.16.1-sdk34
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
cache-read-only: ${{ inputs.cache_read_only }}
cache-encryption-key: ${{ inputs.gradle_encryption_key }}
cache-cleanup: on-success
add-job-summary: always