• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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