Skip to content

feat: add react-native 0.74 support #261

feat: add react-native 0.74 support

feat: add react-native 0.74 support #261

Workflow file for this run

name: E2E tests on bare React Native Android project
on:
push:
branches: [main, '*-stable']
paths:
- .github/workflows/android.yml
- android/**
- src/v8runtime/**
- package.json
- yarn.lock
pull_request:
paths:
- .github/workflows/android.yml
- android/**
- src/v8runtime/**
- package.json
- yarn.lock
jobs:
e2e-test:
runs-on: ubuntu-latest
strategy:
matrix:
rn-version: ['0.74', '0.73']
v8-android-variant:
[v8-android-jit, v8-android-jit-nointl, v8-android, v8-android-nointl]
# include:
# - rn-version: '0.69'
# v8-android-variant: v8-android-jit
# - rn-version: '0.68'
# v8-android-variant: v8-android-jit
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- name: 🧹 Cleanup GitHub Linux runner disk space
uses: ./.github/actions/cleanup-linux-disk-space
- name: Use JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Restore yarn caches
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-workspace-modules-${{ hashFiles('yarn.lock') }}
- name: Yarn install
run: yarn install --frozen-lockfile
- name: ⚙️ Enable KVM for Android virtualization
shell: bash
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: Run tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 34
arch: x86_64
target: google_apis
script: |
adb logcat -c
python3 scripts/gen_project.py --rn-version ${{ matrix.rn-version }} --v8-android-variant ${{ matrix.v8-android-variant }} TestApp
sleep 20
adb logcat -d > TestApp/adb.log
grep -E "=== V8 version\[.+\] ===" TestApp/adb.log > /dev/null
- name: Upload failed artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: artifacts-${{ matrix.rn-version }}-${{ matrix.v8-android-variant }}
path: |
TestApp/android/app/build/outputs/apk/release/app-release.apk
TestApp/adb.log