Skip to content

Commit e023252

Browse files
committed
replace burrunan/gradle-cache-action with gradle/gradle-build-action
The older action, `burrunan/gradle-cache-action`, turns GitHub's freebie storage into a remote Gradle build cache. This causes tons of small requests, and as a result we sometimes get 429 errors or timeouts. When this happens, the best case scenario is that Gradle just treats it as a cache miss and rebuilds something locally. In the worst case, CI just fails. This replacement action is Gradle's own. It automatically handles keys and partitioning of the caches, and still uses build cache instead of `/build`. But, it saves/restores those caches in large chunks instead of making a remote build cache. As a result, the I/O is faster and there are far fewer requests.
1 parent 0d81317 commit e023252

File tree

1 file changed

+31
-71
lines changed

1 file changed

+31
-71
lines changed

.github/workflows/kotlin.yml

Lines changed: 31 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -33,31 +33,23 @@ jobs :
3333
java-version : 11
3434

3535
## Actual task
36-
- uses : burrunan/gradle-cache-action@v1
36+
- uses: gradle/gradle-build-action@v2
3737
name : Assemble with gradle — make sure everything builds
3838
with :
39-
gradle-dependencies-cache-key : |
40-
gradle/libs.versions.toml
4139
arguments : |
42-
assemble --no-daemon --stacktrace
43-
concurrent : true
44-
gradle-build-scan-report : false
45-
gradle-distribution-sha-256-sum-warning : false
40+
assemble --stacktrace
41+
cache-read-only: false
4642

4743
# This should ideally be done as a Check job below, but it needs to be done as a separate
4844
# step after running assemble. Heckin' ridikalus.
4945
# Probably fixed in dokka 1.4.10, but we can't move to kotlin 1.4 yet.
5046
# https://github.com/square/workflow/issues/1152.
51-
- uses : burrunan/gradle-cache-action@v1
47+
- uses: gradle/gradle-build-action@v2
5248
name : Run dokka to validate kdoc
5349
with :
54-
gradle-dependencies-cache-key : |
55-
gradle/libs.versions.toml
5650
arguments : |
57-
siteDokka --build-cache --no-daemon --stacktrace
58-
concurrent : true
59-
gradle-build-scan-report : false
60-
gradle-distribution-sha-256-sum-warning : false
51+
siteDokka --build-cache --stacktrace
52+
cache-read-only: false
6153

6254
# These are all pretty quick so we run them on a single shard. Fewer shards, less queueing.
6355
check :
@@ -74,16 +66,12 @@ jobs :
7466
java-version : 11
7567

7668
## Actual task
77-
- uses : burrunan/gradle-cache-action@v1
69+
- uses: gradle/gradle-build-action@v2
7870
name : Check with Gradle
7971
with :
80-
gradle-dependencies-cache-key : |
81-
gradle/libs.versions.toml
8272
arguments : |
83-
check apiCheck checkVersionIsSnapshot artifactsCheck dependencyGuard lint ktlintCheck jvmWorkflowNodeBenchmarkJar --no-daemon --stacktrace --continue
84-
concurrent : true
85-
gradle-build-scan-report : false
86-
gradle-distribution-sha-256-sum-warning : false
73+
check apiCheck checkVersionIsSnapshot artifactsCheck dependencyGuard lint ktlintCheck jvmWorkflowNodeBenchmarkJar --stacktrace --continue
74+
cache-read-only: false
8775

8876
# Report as Github Pull Request Check.
8977
- name : Publish Test Report
@@ -106,16 +94,12 @@ jobs :
10694
java-version : 11
10795

10896
## Actual task
109-
- uses : burrunan/gradle-cache-action@v1
97+
- uses: gradle/gradle-build-action@v2
11098
name : Check with Gradle
11199
with :
112-
gradle-dependencies-cache-key : |
113-
gradle/libs.versions.toml
114100
arguments : |
115-
jvmTest --no-daemon --stacktrace --continue -Pworkflow.runtime=timeout
116-
concurrent : true
117-
gradle-build-scan-report : false
118-
gradle-distribution-sha-256-sum-warning : false
101+
jvmTest --stacktrace --continue -Pworkflow.runtime=timeout
102+
cache-read-only: false
119103

120104
# Report as Github Pull Request Check.
121105
- name : Publish Test Report
@@ -138,28 +122,20 @@ jobs :
138122
java-version : 11
139123

140124
## iOS Specific Tests (for KMP ios actuals in core and runtime).
141-
- uses : burrunan/gradle-cache-action@v1
125+
- uses: gradle/gradle-build-action@v2
142126
name : Check with Gradle
143127
with :
144-
gradle-dependencies-cache-key : |
145-
gradle/libs.versions.toml
146128
arguments : |
147129
iosX64Test --stacktrace
148-
concurrent : true
149-
gradle-build-scan-report : false
150-
gradle-distribution-sha-256-sum-warning : false
130+
cache-read-only: false
151131

152132
## iOS Specific Tests w/ strict memory model (for KMP ios actuals in core and runtime).
153-
- uses : burrunan/gradle-cache-action@v1
133+
- uses: gradle/gradle-build-action@v2
154134
name : Check with Gradle
155135
with :
156-
gradle-dependencies-cache-key : |
157-
gradle/libs.versions.toml
158136
arguments : |
159137
iosX64Test -Pkotlin.native.binary.memoryModel=strict --stacktrace
160-
concurrent : true
161-
gradle-build-scan-report : false
162-
gradle-distribution-sha-256-sum-warning : false
138+
cache-read-only: false
163139

164140
# Report as Github Pull Request Check.
165141
- name : Publish Test Report
@@ -189,16 +165,12 @@ jobs :
189165
java-version : 11
190166

191167
## Build before running tests, using cache.
192-
- uses : burrunan/gradle-cache-action@v1
168+
- uses: gradle/gradle-build-action@v2
193169
name : Build instrumented tests
194170
with :
195-
gradle-dependencies-cache-key : |
196-
gradle/libs.versions.toml
197171
arguments : |
198-
:benchmarks:performance-poetry:complex-poetry:assembleDebugAndroidTest --no-daemon --stacktrace
199-
concurrent : true
200-
gradle-build-scan-report : false
201-
gradle-distribution-sha-256-sum-warning : false
172+
:benchmarks:performance-poetry:complex-poetry:assembleDebugAndroidTest --stacktrace
173+
cache-read-only: false
202174

203175
## Actual task
204176
- name : Render Pass Counting Test
@@ -209,7 +181,7 @@ jobs :
209181
api-level : ${{ matrix.api-level }}
210182
arch : x86_64
211183
# Skip the benchmarks as this is running on emulators
212-
script : ./gradlew :benchmarks:performance-poetry:complex-poetry:connectedCheck --no-daemon --stacktrace --continue
184+
script : ./gradlew :benchmarks:performance-poetry:complex-poetry:connectedCheck --stacktrace --continue
213185

214186
- name : Upload results
215187
if : ${{ always() }}
@@ -239,16 +211,12 @@ jobs :
239211
java-version : 11
240212

241213
## Build before running tests, using cache.
242-
- uses : burrunan/gradle-cache-action@v1
214+
- uses: gradle/gradle-build-action@v2
243215
name : Build instrumented tests
244216
with :
245-
gradle-dependencies-cache-key : |
246-
gradle/libs.versions.toml
247217
arguments : |
248-
assembleDebugAndroidTest --no-daemon --stacktrace
249-
concurrent : true
250-
gradle-build-scan-report : false
251-
gradle-distribution-sha-256-sum-warning : false
218+
assembleDebugAndroidTest --stacktrace
219+
cache-read-only: false
252220

253221
## Actual task
254222
- name : Instrumentation Tests
@@ -259,7 +227,7 @@ jobs :
259227
api-level : ${{ matrix.api-level }}
260228
arch : x86_64
261229
# Skip the benchmarks as this is running on emulators
262-
script : ./gradlew connectedCheck -x :benchmarks:dungeon-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-poetry:connectedCheck --no-daemon --stacktrace
230+
script : ./gradlew connectedCheck -x :benchmarks:dungeon-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-poetry:connectedCheck --stacktrace
263231

264232
- name : Upload results
265233
if : ${{ always() }}
@@ -289,18 +257,14 @@ jobs :
289257
java-version : 11
290258

291259
## Build before running tests, using cache.
292-
- uses : burrunan/gradle-cache-action@v1
260+
- uses: gradle/gradle-build-action@v2
293261
name : Build instrumented tests
294262
with :
295-
gradle-dependencies-cache-key : |
296-
gradle/libs.versions.toml
297263
# Unfortunately I don't think we can key this cache based on our project property so
298264
# we clean and rebuild.
299265
arguments : |
300-
clean assembleDebugAndroidTest --no-daemon --stacktrace -Pworkflow.runtime=timeout
301-
concurrent : true
302-
gradle-build-scan-report : false
303-
gradle-distribution-sha-256-sum-warning : false
266+
clean assembleDebugAndroidTest --stacktrace -Pworkflow.runtime=timeout
267+
cache-read-only: false
304268

305269
## Actual task
306270
- name : Instrumentation Tests
@@ -311,7 +275,7 @@ jobs :
311275
api-level : ${{ matrix.api-level }}
312276
arch : x86_64
313277
# Skip the benchmarks as this is running on emulators
314-
script : ./gradlew connectedCheck -x :benchmarks:dungeon-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-poetry:connectedCheck --no-daemon --stacktrace -Pworkflow.runtime=timeout
278+
script : ./gradlew connectedCheck -x :benchmarks:dungeon-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-poetry:connectedCheck --stacktrace -Pworkflow.runtime=timeout
315279

316280
- name : Upload results
317281
if : ${{ always() }}
@@ -338,17 +302,13 @@ jobs :
338302

339303

340304
## Build artifact for upload with cache
341-
- uses : burrunan/gradle-cache-action@v1
305+
- uses: gradle/gradle-build-action@v2
342306
name : Build Performance Poetry APK
343307
if : env.MOBILE_DEV_API_KEY != null
344308
with :
345-
gradle-dependencies-cache-key : |
346-
gradle/libs.versions.toml
347309
arguments : |
348-
benchmarks:performance-poetry:complex-poetry:assembleRelease --no-daemon --stacktrace
349-
concurrent : true
350-
gradle-build-scan-report : false
351-
gradle-distribution-sha-256-sum-warning : false
310+
benchmarks:performance-poetry:complex-poetry:assembleRelease --stacktrace
311+
cache-read-only: false
352312
env :
353313
MOBILE_DEV_API_KEY : ${{ secrets.MOBILE_DEV_API_KEY }}
354314

0 commit comments

Comments
 (0)