From 86b9503212be2345da78b13b04b3f71018a326d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=A6n=20Hansen?= Date: Sun, 21 Sep 2025 21:22:03 +0200 Subject: [PATCH 1/3] Run Android emulator on MacOS --- .github/workflows/check.yml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 1cf4f24e..ca326e18 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -110,7 +110,7 @@ jobs: test-android: if: github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'Android 🤖') name: Test app (Android) - runs-on: ubuntu-latest + runs-on: macos-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -137,20 +137,6 @@ jobs: REACT_NATIVE_OVERRIDE_HERMES_DIR=$(npx react-native-node-api vendor-hermes --silent) echo "REACT_NATIVE_OVERRIDE_HERMES_DIR=$REACT_NATIVE_OVERRIDE_HERMES_DIR" >> $GITHUB_ENV working-directory: apps/test-app - # - name: Setup Android Emulator cache - # uses: actions/cache@v4 - # id: avd-cache - # with: - # path: | - # ~/.android/avd/* - # ~/.android/adb* - # key: ${{ runner.os }}-avd-29 - # See https://github.com/marketplace/actions/android-emulator-runner#running-hardware-accelerated-emulators-on-linux-runners - - 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: Build weak-node-api for all architectures run: npm run build-weak-node-api -- --android working-directory: packages/host From e17cb7db34f33ff2974ab981385358584da27b6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=A6n=20Hansen?= Date: Sun, 21 Sep 2025 21:47:17 +0200 Subject: [PATCH 2/3] Try macos-latest-large --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index ca326e18..c8c436b3 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -79,7 +79,7 @@ jobs: test-ios: if: github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'Apple 🍎') name: Test app (iOS) - runs-on: macos-latest + runs-on: macos-latest-large steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 From 182664be520833b8e8de2b6f40efcaa5ed99a6dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=A6n=20Hansen?= Date: Mon, 22 Sep 2025 01:08:57 +0200 Subject: [PATCH 3/3] Cache gradle and AVD --- .github/workflows/check.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index c8c436b3..8a59d911 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -143,6 +143,25 @@ jobs: - name: Build ferric-example for all architectures run: npm run build -- --android working-directory: packages/ferric-example + + - name: Setup Java Gradle cache for android test app + uses: actions/cache@v4 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Setup Android Emulator cache + uses: actions/cache@v4 + id: avd-cache + with: + path: | + ~/.android/avd/* + ~/.android/adb* + key: avd-29 + - name: Run tests (Android) timeout-minutes: 75 uses: reactivecircus/android-emulator-runner@v2