Skip to content

Commit 39e32de

Browse files
committed
chore(ci): add shared setup gradle
1 parent e3eb363 commit 39e32de

File tree

4 files changed

+55
-46
lines changed

4 files changed

+55
-46
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Set up Gradle build environment
2+
description: Prepares environment for building with JDK and Gradle
3+
inputs:
4+
run-release:
5+
description: 'Whether to run in release mode (true/false). In release mode, Gradle cache is not used.'
6+
required: false
7+
default: 'false'
8+
add-job-summary:
9+
description: 'Whether to add a job summary (always, never, on-failure).'
10+
required: false
11+
default: 'always'
12+
cache-encryption-key:
13+
description: 'The secret key to use for encrypting the Gradle cache.'
14+
required: false
15+
default: ''
16+
runs:
17+
using: 'composite'
18+
steps:
19+
- name: Copy CI gradle.properties
20+
shell: bash
21+
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
22+
23+
- name: Set up JDK
24+
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
25+
with:
26+
distribution: 'temurin'
27+
java-version: '21'
28+
29+
- name: Set up Gradle without cache
30+
if: ${{ inputs.run-release == 'true' }}
31+
uses: gradle/actions/setup-gradle@748248ddd2a24f49513d8f472f81c3a07d4d50e1 # v4.4.4
32+
with:
33+
cache-disabled: ${{ inputs.run-release }}
34+
add-job-summary: ${{ inputs.add-job-summary }}
35+
cache-encryption-key: ${{ inputs.cache-encryption-key }}

.github/workflows/android.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,21 @@ permissions:
1919
contents: read
2020

2121
jobs:
22-
build:
22+
build-android:
23+
name: Build Android application
2324
runs-on: ubuntu-latest
2425
timeout-minutes: 90
2526

2627
steps:
27-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
28-
29-
- name: Copy CI gradle.properties
30-
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
31-
32-
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
28+
- name: Checkout the repo
29+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
3330
with:
34-
distribution: 'temurin'
35-
java-version: '21'
31+
fetch-depth: 1
3632

37-
- name: Setup Gradle
38-
uses: gradle/actions/setup-gradle@748248ddd2a24f49513d8f472f81c3a07d4d50e1 # v4.4.4
33+
- name: Setup Gradle environment
34+
uses: ./.github/actions/setup-gradle
35+
with:
36+
cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }}
3937

4038
- name: Quality - Spotless
4139
run: ./gradlew spotlessCheck

.github/workflows/markdown.yml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,10 @@ jobs:
2222
- name: Install mdbook and extensions
2323
run: ./docs/install.sh
2424

25-
- name: Copy CI gradle.properties
26-
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
27-
28-
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
25+
- name: Setup Gradle environment
26+
uses: ./.github/actions/setup-gradle
2927
with:
30-
distribution: 'temurin'
31-
java-version: '21'
32-
33-
- name: Setup Gradle
34-
uses: gradle/actions/setup-gradle@748248ddd2a24f49513d8f472f81c3a07d4d50e1 # v4.4.4
28+
cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }}
3529

3630
- name: Quality - Spotless Markdown Check
3731
run: ./gradlew spotlessFlexmarkCheck

.github/workflows/shippable_builds.yml

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -220,23 +220,13 @@ jobs:
220220
fetch-depth: 0
221221
token: ${{ steps.app-token.outputs.token || github.token }}
222222

223-
- name: Copy CI gradle.properties
224-
if: ${{ contains(matrix.releaseTarget, 'github') || needs.dump_config.outputs.releaseType == 'daily' }}
225-
shell: bash
226-
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
227-
228-
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
229-
if: ${{ contains(matrix.releaseTarget, 'github') || needs.dump_config.outputs.releaseType == 'daily' }}
230-
with:
231-
distribution: 'temurin'
232-
java-version: '21'
233-
234-
- name: Setup Gradle
235-
uses: gradle/actions/setup-gradle@748248ddd2a24f49513d8f472f81c3a07d4d50e1 # v4.4.4
223+
- name: Setup Gradle environment
236224
if: ${{ contains(matrix.releaseTarget, 'github') || needs.dump_config.outputs.releaseType == 'daily' }}
225+
uses: ./.github/actions/setup-gradle
237226
with:
238-
cache-disabled: "${{ contains(fromJSON('[\"beta\", \"release\"]'), needs.dump_config.outputs.releaseType) }}"
227+
run-release: "${{ contains(fromJSON('[\"beta\", \"release\"]'), needs.dump_config.outputs.releaseType) }}"
239228
add-job-summary: never
229+
cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }}
240230

241231
- name: Get application info
242232
id: appinfo
@@ -470,20 +460,12 @@ jobs:
470460
with:
471461
ref: ${{ steps.sha.outputs.app_sha }}
472462

473-
- name: Copy CI gradle.properties
474-
shell: bash
475-
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
476-
477-
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
478-
with:
479-
distribution: 'temurin'
480-
java-version: '21'
481-
482-
- name: Setup Gradle
483-
uses: gradle/actions/setup-gradle@748248ddd2a24f49513d8f472f81c3a07d4d50e1 # v4.4.4
463+
- name: Setup Gradle environment
464+
uses: ./.github/actions/setup-gradle
484465
with:
485-
cache-disabled: "${{ contains(fromJSON('[\"beta\", \"release\"]'), needs.dump_config.outputs.releaseType) }}"
466+
run-release: "${{ contains(fromJSON('[\"beta\", \"release\"]'), needs.dump_config.outputs.releaseType) }}"
486467
add-job-summary: on-failure
468+
cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }}
487469

488470
- name: Set Version Code for Daily
489471
if: ${{ needs.dump_config.outputs.releaseType == 'daily' }}

0 commit comments

Comments
 (0)