From d418501479cdf2426ac903b1968f1778f87a42ad Mon Sep 17 00:00:00 2001 From: Matthew Nelson Date: Sat, 2 Mar 2024 07:43:06 -0500 Subject: [PATCH] Add Android emulator tests to CI --- .github/workflows/CI.yml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 999cb5f..d6ef32a 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -63,3 +63,39 @@ jobs: run: > ./gradlew check --stacktrace -PKMP_TARGETS="JVM,JS,MINGW_X64,WASM_JS,WASM_WASI" + + emulator: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + api-level: [ 15, 17, 21 ] + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + + - name: Enable KVM + 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: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v1 + + - name: Setup JDK + uses: actions/setup-java@v3.11.0 + with: + distribution: 'zulu' + java-version: 17 + + - name: Build + uses: gradle/gradle-build-action@v2 + + - name: Run Android Instrumented Tests + uses: reactivecircus/android-emulator-runner@v2 + with: + emulator-boot-timeout: 300 # 5 minutes + api-level: ${{ matrix.api-level }} + script: ./gradlew :library:file-test-android:connectedCheck -PKMP_TARGETS="ANDROID,JVM"