name: Espresso instrumented tests on: push: branches: [main] pull_request: workflow_dispatch: permissions: contents: read jobs: espresso: runs-on: ubuntu-latest timeout-minutes: 45 steps: - name: Check out repository uses: actions/checkout@v7 - name: Set up Java uses: actions/setup-java@v5 with: distribution: temurin java-version: '17' cache: gradle - name: Enable KVM for Android emulator run: | echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - name: Run Espresso tests uses: reactivecircus/android-emulator-runner@v2 with: api-level: 35 target: google_apis arch: x86_64 profile: pixel_7 script: ./gradlew :app:connectedDebugAndroidTest --stacktrace - name: Upload Espresso reports if: always() uses: actions/upload-artifact@v7 with: name: espresso-android-test-results if-no-files-found: error retention-days: 14 path: | app/build/reports/androidTests/connected/ app/build/outputs/androidTest-results/connected/