name: 'Artifact Android emulator tests' description: 'Runs Android emulator tests on the Dagger LOCAL-SNAPSHOT artifacts.' inputs: api-level: description: 'The version of Android emulator API to test with.' required: true runs: using: "composite" steps: - name: 'Check out repository' uses: actions/checkout@v4 - name: 'Cache Gradle files' uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: 'Download local snapshot for tests' uses: actions/download-artifact@v4 with: name: local-snapshot path: ~/.m2/repository/com/google/dagger - name: 'Install Java ${{ env.USE_JAVA_VERSION }}' uses: actions/setup-java@v4 with: distribution: '${{ env.USE_JAVA_DISTRIBUTION }}' java-version: '${{ env.USE_JAVA_VERSION }}' - name: 'Gradle Android emulator tests (API ${{ inputs.api-level }})' uses: reactivecircus/android-emulator-runner@v2 with: api-level: ${{ inputs.api-level }} target: google_apis script: ./util/run-local-emulator-tests.sh - name: 'Upload test reports (API ${{ inputs.api-level }})' if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: androidTests-report-api-${{ inputs.api-level }} path: ${{ github.workspace }}/**/build/reports/androidTests/connected/*