Skip to content

Switch to 3 devices (Android 11, 13, 14), Increase timeout (#3897) #4422

Switch to 3 devices (Android 11, 13, 14), Increase timeout (#3897)

Switch to 3 devices (Android 11, 13, 14), Increase timeout (#3897) #4422

Workflow file for this run

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