Skip to content

Add [TIMING] instrumentation to integration test runner #56

Add [TIMING] instrumentation to integration test runner

Add [TIMING] instrumentation to integration test runner #56

Workflow file for this run

name: CI Tests
on:
pull_request:
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: jdx/mise-action@v4
- name: Install dependencies
run: npm install
- name: Lint and type-check
run: npm run build:tests
- name: Check public API compatibility
run: npm run check:api-compat
android-test:
needs: lint
runs-on: bitrise-react-native-code-push-linux-runner
strategy:
matrix:
variant: [bare, expo]
include:
- variant: bare
test-command: test:android
- variant: expo
test-command: test:expo:android
steps:
- uses: actions/checkout@v7
- uses: jdx/mise-action@v4
- name: Cache npm packages
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json', 'test/test.ts') }}
restore-keys: |
${{ runner.os }}-npm-
- name: Install dependencies
run: npm install
- 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: Add Android tools to PATH
run: |
echo "/usr/local/lib/android/sdk/emulator" >> $GITHUB_PATH
echo "/usr/local/lib/android/sdk/platform-tools" >> $GITHUB_PATH
- name: Run Android Tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 27
target: google_apis
arch: x86
disable-animations: true
script: npm run ${{ matrix.test-command }}
ios-test:
needs: lint
runs-on: bitrise-react-native-code-push-macos-runner
strategy:
matrix:
variant: [bare, expo]
include:
- variant: bare
test-command: test:ios
- variant: expo
test-command: test:expo:ios
steps:
- uses: actions/checkout@v7
- uses: jdx/mise-action@v4
- name: Cache npm packages
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json', 'test/test.ts') }}
restore-keys: |
${{ runner.os }}-npm-
- name: Cache CocoaPods
uses: actions/cache@v4
with:
path: |
~/.cocoapods
~/Library/Caches/CocoaPods
key: ${{ runner.os }}-cocoapods-${{ hashFiles('test/test.ts') }}
restore-keys: |
${{ runner.os }}-cocoapods-
- name: Run iOS Tests
run: |
npm install
npm run ${{ matrix.test-command }}