1+ name : TestConfigurationSample
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ paths :
8+ - ' TestConfigurationSample/**'
9+ pull_request :
10+ paths :
11+ - ' TestConfigurationSample/**'
12+
13+ env :
14+ SAMPLE_PATH : TestConfigurationSample
15+
16+ jobs :
17+ build :
18+ runs-on : ubuntu-latest
19+ timeout-minutes : 90
20+
21+ steps :
22+ - name : Checkout
23+ uses : actions/checkout@v2
24+
25+ - name : Copy CI gradle.properties
26+ run : mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
27+
28+ - name : Set up JDK 11
29+ uses : actions/setup-java@v1
30+ with :
31+ java-version : 11
32+
33+ - name : Generate cache key
34+ run : ./scripts/checksum.sh $SAMPLE_PATH checksum.txt
35+
36+ - uses : actions/cache@v2
37+ with :
38+ path : |
39+ ~/.gradle/caches/modules-*
40+ ~/.gradle/caches/jars-*
41+ ~/.gradle/caches/build-cache-*
42+ key : gradle-${{ hashFiles('checksum.txt') }}
43+
44+ - name : Build project and run local tests
45+ working-directory : ${{ env.SAMPLE_PATH }}
46+ run : ./gradlew spotlessCheck assembleDebug lintDebug testDebug --stacktrace --no-build-cache --rerun-tasks
47+
48+ gradleManagedVirtualDevicesTest :
49+ needs : build
50+ runs-on : macOS-latest # enables hardware acceleration in the virtual machine
51+ timeout-minutes : 30
52+
53+ steps :
54+ - name : Checkout
55+ uses : actions/checkout@v2
56+
57+ - name : Copy CI gradle.properties
58+ run : mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
59+
60+ - name : Set up JDK 11
61+ uses : actions/setup-java@v1
62+ with :
63+ java-version : 11
64+
65+ - name : Generate cache key
66+ run : ./scripts/checksum.sh $SAMPLE_PATH checksum.txt
67+
68+ - uses : actions/cache@v2
69+ with :
70+ path : |
71+ ~/.gradle/caches/modules-*
72+ ~/.gradle/caches/jars-*
73+ ~/.gradle/caches/build-cache-*
74+ key : gradle-${{ hashFiles('checksum.txt') }}
75+
76+ - name : Run instrumented tests
77+ working-directory : ${{ env.SAMPLE_PATH }}
78+ run : |
79+ ./gradlew pixel2api29DebugAndroidTest -Pandroid.experimental.androidTest.useUnifiedTestPlatform=true -Pandroid.testInstrumentationRunnerArguments.notAnnotation=com.example.android.testing.testconfigurationsample.TestDeviceLargeScreen
80+ ./gradlew pixel2api23DebugAndroidTest -Pandroid.experimental.androidTest.useUnifiedTestPlatform=true -Pandroid.testInstrumentationRunnerArguments.annotation=com.example.android.testing.testconfigurationsample.TestDeviceApi23
81+ ./gradlew nexus9api29DebugAndroidTest -Pandroid.experimental.androidTest.useUnifiedTestPlatform=true -Pandroid.testInstrumentationRunnerArguments.annotation=com.example.android.testing.testconfigurationsample.TestDeviceLargeScreen
82+
83+ - name : Upload test reports
84+ if : always()
85+ uses : actions/upload-artifact@v2
86+ with :
87+ name : test-reports
88+ path : ${{ env.SAMPLE_PATH }}/app/build/reports/androidTests
0 commit comments