Skip to content

ci: add matrix strategy to test others api levels #102

ci: add matrix strategy to test others api levels

ci: add matrix strategy to test others api levels #102

Workflow file for this run

name: Android Test
on:
push:
pull-request:
branches:
- main
jobs:
test:
runs-on: macos-latest
strategy:
matrix:
api-level: [21, 26, 31]
arch: ['x86_64', 'x86']
steps:
- name: checkout
uses: actions/checkout@v3
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: make gradlew executable
run: chmod +x ./gradlew
- name: gradle cache
uses: gradle/gradle-build-action@v2
- name: AVD cache
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-${{ matrix.api-level }}
- name: create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: ${{ matrix.arch }}
disable-animations: true
force-avd-creation: false
emulator-options: -no-window -camera-back emulated -camera-front emulated -gpu swiftshader_indirect -no-boot-anim
script: echo "Generated AVD snapshot for caching."
- name: run android tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: ${{ matrix.arch }}
disable-animations: true
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -camera-back emulated -camera-front emulated -gpu swiftshader_indirect -no-boot-anim
script: ./gradlew connectedDebugAndroidTest