From a087d17ae1b071068e412c4a6bccb7d6ebe4c73d Mon Sep 17 00:00:00 2001 From: Sandeep Singh Date: Tue, 13 Oct 2026 19:46:45 +0530 Subject: [PATCH 1/2] Fix CI emulator boot timeout by switching to arm64-v8a architecture on macOS runners --- .github/workflows/android-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/android-ci.yml b/.github/workflows/android-ci.yml index dc426afd..b3e4fa9f 100644 --- a/.github/workflows/android-ci.yml +++ b/.github/workflows/android-ci.yml @@ -50,7 +50,8 @@ jobs: with: api-level: ${{ matrix.api-level }} target: google_apis - arch: x86_64 + arch: arm64-v8a + disable-animations: true script: adb logcat *:S TestRunner:V & ./gradlew connectedCheck --no-build-cache --no-daemon --stacktrace instrumentation-test-summary: From b2b8b8aee168a842db88348dcefb351a71c515cf Mon Sep 17 00:00:00 2001 From: Sandeep Singh Date: Tue, 13 Oct 2026 20:44:32 +0530 Subject: [PATCH 2/2] Run instrumentation tests on ubuntu-latest with KVM acceleration --- .github/workflows/android-ci.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/android-ci.yml b/.github/workflows/android-ci.yml index b3e4fa9f..4a2f4408 100644 --- a/.github/workflows/android-ci.yml +++ b/.github/workflows/android-ci.yml @@ -26,7 +26,7 @@ jobs: instrumentation-tests: name: Instrumentation Tests - runs-on: macos-latest + runs-on: ubuntu-latest timeout-minutes: 30 strategy: # Allow tests to continue on other devices if they fail on one device. @@ -45,14 +45,20 @@ jobs: java-version: 17 distribution: 'temurin' + - name: Enable KVM group perms + 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: Instrumentation Tests uses: reactivecircus/android-emulator-runner@v2 with: api-level: ${{ matrix.api-level }} target: google_apis - arch: arm64-v8a + arch: x86_64 disable-animations: true - script: adb logcat *:S TestRunner:V & ./gradlew connectedCheck --no-build-cache --no-daemon --stacktrace + script: ./gradlew connectedCheck --no-build-cache --no-daemon --stacktrace instrumentation-test-summary: if: ${{ always() }}