Skip to content

Commit fe0333a

Browse files
authored
ci: Update Github Actions cache keys ot consider version catalog toml file (#39)
* ci: update github actions cache keys ot consider version catalog toml file * ci: add caching for the ui-test job as well * 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 * ci: revert the keys to the way they used to be defined because the runner context is not available in the top-level env block * ci: store the ui test results in the artifacts
1 parent fb846a3 commit fe0333a

File tree

1 file changed

+40
-6
lines changed

1 file changed

+40
-6
lines changed

.github/workflows/android.yml

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
unit-test:
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v3
10+
- uses: actions/checkout@v4
1111
- uses: ruby/setup-ruby@v1
1212
with:
1313
ruby-version: '3.1'
@@ -21,14 +21,14 @@ jobs:
2121
uses: actions/cache@v3
2222
with:
2323
path: ~/.gradle/wrapper
24-
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
24+
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
2525
restore-keys: |
2626
${{ runner.OS }}-gradle-wrapper-cache-
2727
- name: Cache Gradle caches
2828
uses: actions/cache@v3
2929
with:
3030
path: ~/.gradle/caches
31-
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts') }}
31+
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
3232
restore-keys: |
3333
${{ runner.OS }}-gradle-caches-cache-
3434
- name: generate ksProp file
@@ -50,12 +50,26 @@ jobs:
5050
lint:
5151
runs-on: ubuntu-latest
5252
steps:
53-
- uses: actions/checkout@v1
53+
- uses: actions/checkout@v4
5454
- name: set up JDK 17
55-
uses: actions/setup-java@v1
55+
uses: actions/setup-java@v4
5656
with:
5757
distribution: 'zulu'
5858
java-version: '17'
59+
- name: Cache Gradle wrapper
60+
uses: actions/cache@v3
61+
with:
62+
path: ~/.gradle/wrapper
63+
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
64+
restore-keys: |
65+
${{ runner.OS }}-gradle-wrapper-cache-
66+
- name: Cache Gradle caches
67+
uses: actions/cache@v3
68+
with:
69+
path: ~/.gradle/caches
70+
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
71+
restore-keys: |
72+
${{ runner.OS }}-gradle-caches-cache-
5973
- name: generate ksProp file
6074
run: ./gradlew generateKsPropFile
6175
- name: generate google-services.json file
@@ -74,12 +88,26 @@ jobs:
7488
runs-on: ubuntu-latest
7589
steps:
7690
- name: checkout
77-
uses: actions/checkout@v2
91+
uses: actions/checkout@v4
7892
- name: set up JDK 17
7993
uses: actions/setup-java@v4
8094
with:
8195
distribution: 'zulu'
8296
java-version: '17'
97+
- name: Cache Gradle wrapper
98+
uses: actions/cache@v3
99+
with:
100+
path: ~/.gradle/wrapper
101+
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
102+
restore-keys: |
103+
${{ runner.OS }}-gradle-wrapper-cache-
104+
- name: Cache Gradle caches
105+
uses: actions/cache@v3
106+
with:
107+
path: ~/.gradle/caches
108+
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
109+
restore-keys: |
110+
${{ runner.OS }}-gradle-caches-cache-
83111
- name: generate ksProp file
84112
run: ./gradlew generateKsPropFile
85113
- name: generate google-services.json file
@@ -106,6 +134,12 @@ jobs:
106134
with:
107135
name: ui-test-video
108136
path: ./ui-test.mp4
137+
- name: Upload UI test results
138+
if: always()
139+
uses: actions/upload-artifact@v4
140+
with:
141+
name: ui-test-results
142+
path: app/build/reports/androidTests/connected/
109143

110144
notify-slack:
111145
needs: unit-test

0 commit comments

Comments
 (0)