Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit 0c45bff

Browse files
authored
github: Switch to dynamic filtering (#786)
Also update cache layout for snapshot deployment workflows
1 parent d034da8 commit 0c45bff

File tree

2 files changed

+52
-14
lines changed

2 files changed

+52
-14
lines changed

.github/workflows/deploy_snapshot.yml

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,32 @@ jobs:
2020
- name: Copy CI gradle.properties
2121
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
2222

23-
- uses: actions/cache@v1
23+
- name: Generate cache key
24+
run: ./.github/checksum.sh checksum.txt
25+
26+
- name: Cache gradle modules
27+
uses: actions/cache@v1
28+
with:
29+
path: ~/.gradle/caches/modules-2
30+
key: ${{ runner.os }}-gradlemodules-${{ hashFiles('checksum.txt') }}
31+
restore-keys: |
32+
${{ runner.os }}-gradlemodules-
33+
34+
- name: Cache gradle jars
35+
uses: actions/cache@v1
36+
with:
37+
path: ~/.gradle/caches/jars-3
38+
key: ${{ runner.os }}-gradlejars-${{ hashFiles('checksum.txt') }}
39+
restore-keys: |
40+
${{ runner.os }}-gradlejars-
41+
42+
- name: Cache gradle build
43+
uses: actions/cache@v1
2444
with:
25-
path: ~/.gradle/caches
26-
key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/dependencies.gradle') }}
45+
path: ~/.gradle/caches/build-cache-1
46+
key: ${{ runner.os }}-gradlebuildcache-${{ hashFiles('checksum.txt') }}
47+
restore-keys: |
48+
${{ runner.os }}-gradlebuildcache-
2749
2850
- name: Download gradle dependencies
2951
run: ./gradlew dependencies

.github/workflows/pull_request.yml

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,4 @@
1-
on:
2-
pull_request:
3-
paths:
4-
- '.github/**'
5-
- 'app/**'
6-
- 'gradle/**'
7-
- '*.properties'
8-
- '*.gradle'
9-
- 'gradlew'
10-
- 'gradlew.bat'
1+
on: [pull_request]
112

123
name: Check pull request
134
jobs:
@@ -19,15 +10,36 @@ jobs:
1910
variant: [Debug, Release]
2011
steps:
2112

22-
- uses: actions/checkout@master
13+
- name: Check if relevant files have changed
14+
uses: actions/[email protected]
15+
id: service-changed
16+
with:
17+
result-encoding: string
18+
script: |
19+
const result = await github.pulls.listFiles({
20+
owner: context.payload.repository.owner.login,
21+
repo: context.payload.repository.name,
22+
pull_number: context.payload.number,
23+
per_page: 100
24+
})
25+
const serviceChanged = result.data.filter(f => f.filename.startsWith("app/") || f.filename.endsWith("gradle") || f.filename.startsWith(".github") || f.filename.startsWith("gradle") || f.filename.endsWith("properties")).length > 0
26+
console.log(serviceChanged)
27+
return serviceChanged
28+
29+
- name: Checkout repository
30+
if: ${{ steps.service-changed.outputs.result == 'true' }}
31+
uses: actions/checkout@v1
2332

2433
- name: Copy CI gradle.properties
34+
if: ${{ steps.service-changed.outputs.result == 'true' }}
2535
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
2636

2737
- name: Generate cache key
38+
if: ${{ steps.service-changed.outputs.result == 'true' }}
2839
run: ./.github/checksum.sh checksum.txt
2940

3041
- name: Cache gradle modules
42+
if: ${{ steps.service-changed.outputs.result == 'true' }}
3143
uses: actions/cache@v1
3244
with:
3345
path: ~/.gradle/caches/modules-2
@@ -36,6 +48,7 @@ jobs:
3648
${{ runner.os }}-gradlemodules-
3749
3850
- name: Cache gradle jars
51+
if: ${{ steps.service-changed.outputs.result == 'true' }}
3952
uses: actions/cache@v1
4053
with:
4154
path: ~/.gradle/caches/jars-3
@@ -44,6 +57,7 @@ jobs:
4457
${{ runner.os }}-gradlejars-
4558
4659
- name: Cache gradle build
60+
if: ${{ steps.service-changed.outputs.result == 'true' }}
4761
uses: actions/cache@v1
4862
with:
4963
path: ~/.gradle/caches/build-cache-1
@@ -52,9 +66,11 @@ jobs:
5266
${{ runner.os }}-gradlebuildcache-
5367
5468
- name: Run unit tests
69+
if: ${{ steps.service-changed.outputs.result == 'true' }}
5570
run: ./gradlew test${{ matrix.variant }} lint${{ matrix.variant}} -Dpre-dex=false
5671

5772
- name: Run instrumentation tests
73+
if: ${{ steps.service-changed.outputs.result == 'true' }}
5874
uses: reactivecircus/android-emulator-runner@v2
5975
with:
6076
api-level: ${{ matrix.api-level }}

0 commit comments

Comments
 (0)