1name: 'Artifact Android emulator tests' 2description: 'Runs Android emulator tests on the Dagger LOCAL-SNAPSHOT artifacts.' 3 4inputs: 5 api-level: 6 description: 'The version of Android emulator API to test with.' 7 required: true 8 9runs: 10 using: "composite" 11 steps: 12 - name: 'Check out repository' 13 uses: actions/checkout@v4 14 - name: 'Cache Gradle files' 15 uses: actions/cache@v4 16 with: 17 path: | 18 ~/.gradle/caches 19 ~/.gradle/wrapper 20 key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} 21 restore-keys: | 22 ${{ runner.os }}-gradle- 23 - name: 'Download local snapshot for tests' 24 uses: actions/download-artifact@v4 25 with: 26 name: local-snapshot 27 path: ~/.m2/repository/com/google/dagger 28 - name: 'Install Java ${{ env.USE_JAVA_VERSION }}' 29 uses: actions/setup-java@v4 30 with: 31 distribution: '${{ env.USE_JAVA_DISTRIBUTION }}' 32 java-version: '${{ env.USE_JAVA_VERSION }}' 33 - name: 'Gradle Android emulator tests (API ${{ inputs.api-level }})' 34 uses: reactivecircus/android-emulator-runner@v2 35 with: 36 api-level: ${{ inputs.api-level }} 37 target: google_apis 38 script: ./util/run-local-emulator-tests.sh 39 - name: 'Upload test reports (API ${{ inputs.api-level }})' 40 if: ${{ always() }} 41 uses: actions/upload-artifact@v4 42 with: 43 name: androidTests-report-api-${{ inputs.api-level }} 44 path: ${{ github.workspace }}/**/build/reports/androidTests/connected/* 45