Skip to content

feat: Harness tests

feat: Harness tests #1

name: Test Harness Android
on:
pull_request:
paths:
- ".github/workflows/test-harness-android.yml"
- "example/android/**"
- "example/src/tests/**"
- "example/__tests__/**"
- "example/rn-harness.config.mjs"
- "example/jest.config.js"
- "package/cpp/**"
- "package/android/**"
- "**/bun.lock"
- "**/react-native.config.js"
- "**/nitro.json"
env:
TARGET_ANDROID_ARCH: x86_64
jobs:
test:
name: Harness Tests (Android)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- name: Setup JDK 17
uses: actions/setup-java@v5
with:
distribution: "zulu"
java-version: 17
- 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: Install dependencies (bun)
run: bun install
- name: Run react-native-harness on Android
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 35
arch: x86_64
avd-name: Pixel_8_API_35
working-directory: example/android
script: >-
./gradlew :app:installDebug --no-daemon
-PreactNativeArchitectures=${{ env.TARGET_ANDROID_ARCH }}
&& bun --cwd .. run test:harness:android