Skip to content

Commit 4487b6f

Browse files
Upgrade Github Action
1 parent c976b52 commit 4487b6f

1 file changed

Lines changed: 122 additions & 10 deletions

File tree

.github/workflows/android.yml

Lines changed: 122 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,129 @@
1-
name: Android CI
1+
name: CI
22

3-
on: [push]
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
push:
8+
branches:
9+
- master
10+
tags:
11+
- '*'
12+
13+
env:
14+
CI: true
15+
GRADLE_OPTS: -Dorg.gradle.daemon=false
16+
TERM: dumb
417

518
jobs:
6-
build:
19+
assemble:
20+
name: Assemble
21+
runs-on: ubuntu-latest
22+
env:
23+
JAVA_TOOL_OPTIONS: -Xmx4g
24+
25+
steps:
26+
- uses: actions/checkout@v2
27+
with:
28+
fetch-depth: 0
29+
30+
- uses: gradle/wrapper-validation-action@v1
31+
32+
- uses: actions/setup-java@v1
33+
with:
34+
java-version: 14
35+
36+
- uses: actions/cache@v1
37+
with:
38+
path: ~/.gradle/caches
39+
key: ${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.java') }}
40+
41+
- name: Assemble signed debug App apk
42+
run: |
43+
./gradlew app:assembleDebug
44+
45+
unit-tests:
46+
name: Unit tests
47+
runs-on: ubuntu-latest
48+
env:
49+
JAVA_TOOL_OPTIONS: -Xmx4g
50+
51+
steps:
52+
- uses: actions/checkout@v2
753

54+
- uses: gradle/wrapper-validation-action@v1
55+
56+
- uses: actions/setup-java@v1
57+
with:
58+
java-version: 14
59+
60+
- uses: actions/cache@v1
61+
with:
62+
path: ~/.gradle/caches
63+
key: ${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.java') }}
64+
65+
- name: Run unit tests
66+
run: |
67+
./gradlew test -PslimTests
68+
- name: Copy test results
69+
if: always()
70+
run: |
71+
mkdir -p junit
72+
find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} junit/ \;
73+
- name: Upload test results
74+
if: always()
75+
uses: actions/upload-artifact@v1
76+
with:
77+
name: junit-results
78+
path: junit
79+
80+
static-analysis:
81+
name: Static analysis
882
runs-on: ubuntu-latest
83+
env:
84+
JAVA_TOOL_OPTIONS: -Xmx4g
85+
steps:
86+
- uses: actions/checkout@v2
87+
88+
- uses: gradle/wrapper-validation-action@v1
89+
90+
- uses: actions/setup-java@v1
91+
with:
92+
java-version: 14
93+
94+
- uses: actions/cache@v1
95+
with:
96+
path: ~/.gradle/caches
97+
key: ${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.java') }}
98+
- name: Cleanup secrets
99+
if: always()
100+
run: |
101+
rm -f app/src/prod/google-services.json
102+
instrumented-tests:
103+
name: Instrumented tests
104+
runs-on: macos-latest
105+
timeout-minutes: 25
106+
env:
107+
JAVA_TOOL_OPTIONS: -Xmx4g
9108

10109
steps:
11-
- uses: actions/checkout@v1
12-
- name: set up JDK 1.8
13-
uses: actions/setup-java@v1
14-
with:
15-
java-version: 1.8
16-
- name: Build with Gradle
17-
run: ./gradlew build
110+
- uses: actions/checkout@v2
111+
112+
- uses: gradle/wrapper-validation-action@v1
113+
114+
- uses: actions/setup-java@v1
115+
with:
116+
java-version: 14
117+
118+
- uses: actions/cache@v1
119+
with:
120+
path: ~/.gradle/caches
121+
key: ${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.java') }}
122+
123+
- name: Run Android instrumented tests
124+
uses: reactivecircus/android-emulator-runner@v2
125+
with:
126+
api-level: 28
127+
arch: x86_64
128+
profile: Nexus 5X
129+
script: ./gradlew connectedCheck

0 commit comments

Comments
 (0)