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
123name : Check pull request
134jobs :
@@ -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+ 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
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
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
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