Skip to content

Commit ac806ce

Browse files
committed
ci: reuse cache keys by defining them in a top-level env block and reference them in each job; add caching for the lint job
1 parent 2f9234e commit ac806ce

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

.github/workflows/android.yml

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@ name: Android CI
22

33
on: [ push ]
44

5+
env:
6+
GRADLE_WRAPPER_CACHE_KEY: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
7+
GRADLE_CACHES_CACHE_KEY: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
8+
59
jobs:
610

711
unit-test:
812
runs-on: ubuntu-latest
913
steps:
10-
- uses: actions/checkout@v3
14+
- uses: actions/checkout@v4
1115
- uses: ruby/setup-ruby@v1
1216
with:
1317
ruby-version: '3.1'
@@ -21,14 +25,14 @@ jobs:
2125
uses: actions/cache@v3
2226
with:
2327
path: ~/.gradle/wrapper
24-
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
28+
key: ${{ env.GRADLE_WRAPPER_CACHE_KEY }}
2529
restore-keys: |
2630
${{ runner.OS }}-gradle-wrapper-cache-
2731
- name: Cache Gradle caches
2832
uses: actions/cache@v3
2933
with:
3034
path: ~/.gradle/caches
31-
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
35+
key: ${{ env.GRADLE_CACHES_CACHE_KEY }}
3236
restore-keys: |
3337
${{ runner.OS }}-gradle-caches-cache-
3438
- name: generate ksProp file
@@ -50,12 +54,26 @@ jobs:
5054
lint:
5155
runs-on: ubuntu-latest
5256
steps:
53-
- uses: actions/checkout@v1
57+
- uses: actions/checkout@v4
5458
- name: set up JDK 17
55-
uses: actions/setup-java@v1
59+
uses: actions/setup-java@v4
5660
with:
5761
distribution: 'zulu'
5862
java-version: '17'
63+
- name: Cache Gradle wrapper
64+
uses: actions/cache@v3
65+
with:
66+
path: ~/.gradle/wrapper
67+
key: ${{ env.GRADLE_WRAPPER_CACHE_KEY }}
68+
restore-keys: |
69+
${{ runner.OS }}-gradle-wrapper-cache-
70+
- name: Cache Gradle caches
71+
uses: actions/cache@v3
72+
with:
73+
path: ~/.gradle/caches
74+
key: ${{ env.GRADLE_CACHES_CACHE_KEY }}
75+
restore-keys: |
76+
${{ runner.OS }}-gradle-caches-cache-
5977
- name: generate ksProp file
6078
run: ./gradlew generateKsPropFile
6179
- name: generate google-services.json file
@@ -74,7 +92,7 @@ jobs:
7492
runs-on: ubuntu-latest
7593
steps:
7694
- name: checkout
77-
uses: actions/checkout@v2
95+
uses: actions/checkout@v4
7896
- name: set up JDK 17
7997
uses: actions/setup-java@v4
8098
with:
@@ -84,14 +102,14 @@ jobs:
84102
uses: actions/cache@v3
85103
with:
86104
path: ~/.gradle/wrapper
87-
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
105+
key: ${{ env.GRADLE_WRAPPER_CACHE_KEY }}
88106
restore-keys: |
89107
${{ runner.OS }}-gradle-wrapper-cache-
90108
- name: Cache Gradle caches
91109
uses: actions/cache@v3
92110
with:
93111
path: ~/.gradle/caches
94-
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
112+
key: ${{ env.GRADLE_CACHES_CACHE_KEY }}
95113
restore-keys: |
96114
${{ runner.OS }}-gradle-caches-cache-
97115
- name: generate ksProp file

0 commit comments

Comments
 (0)