Switch to 3 devices (Android 11, 13, 14), Increase timeout (#3897) #4422
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: AGP Matrix Compatibility | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
agp-matrix-compatibility: | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
agp: [ '8.0.0','8.1.4','8.2.0','8.3.0-beta01' ] | |
integrations: [ true, false ] | |
name: AGP Matrix Release - AGP ${{ matrix.agp }} - Integrations ${{ matrix.integrations }} | |
env: | |
VERSION_AGP: ${{ matrix.agp }} | |
APPLY_SENTRY_INTEGRATIONS: ${{ matrix.integrations }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Setup Java Version | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@707359876a764dbcdb9da0b0ed08291818310c3d # pin@v3 | |
with: | |
gradle-home-cache-cleanup: true | |
- name: Setup KVM | |
shell: bash | |
run: | | |
# check if virtualization is supported... | |
sudo apt install -y --no-install-recommends cpu-checker coreutils && echo "CPUs=$(nproc --all)" && kvm-ok | |
# allow access to KVM to run the emulator | |
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 | |
# Clean, build and release a test apk | |
- name: Make assembleUiTests | |
run: make assembleUiTests | |
# We tried to use the cache action to cache gradle stuff, but it made tests slower and timeout | |
- name: Run instrumentation tests | |
uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d # pin@v2 | |
with: | |
api-level: 30 | |
force-avd-creation: false | |
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
disable-animations: true | |
disable-spellchecker: true | |
target: 'aosp_atd' | |
arch: x86 | |
channel: canary # Necessary for ATDs | |
disk-size: 4096M | |
script: ./gradlew sentry-android-integration-tests:sentry-uitest-android:connectedReleaseAndroidTest -DtestBuildType=release --daemon | |
- name: Upload test results | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results-AGP${{ matrix.agp }}-Integrations${{ matrix.integrations }} | |
path: | | |
**/build/reports/* | |
**/build/outputs/*/connected/* | |
**/build/outputs/mapping/release/* | |
- name: Test Report | |
uses: phoenix-actions/test-reporting@f957cd93fc2d848d556fa0d03c57bc79127b6b5e # pin@v15 | |
if: always() | |
with: | |
name: JUnit AGP ${{ matrix.agp }} - Integrations ${{ matrix.integrations }} | |
path: | | |
**/build/outputs/androidTest-results/**/*.xml | |
reporter: java-junit | |
output-to: step-summary | |
fail-on-error: false |