Skip to content

End-to-End Testing with Detox #2

End-to-End Testing with Detox

End-to-End Testing with Detox #2

Workflow file for this run

name: iOS Detox
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
test:
name: Test
runs-on: depot-macos-15 # Use depot runner, fallback to: macos-15
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/[email protected]
- name: Setup Node.js
uses: actions/[email protected]
with:
node-version: "24"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Setup Expo
run: npx expo install
- name: Prebuild iOS
run: npx expo prebuild --platform ios --clean
- name: Setup Ruby
uses: ruby/[email protected]
with:
ruby-version: "3.2"
bundler-cache: false
- name: Install CocoaPods
working-directory: ios
run: pod install
- name: Boot simulator
run: |
xcrun simctl boot "iPhone 16" || true
xcrun simctl list devices | grep "iPhone 16"
- name: Build
run: npx detox build --configuration ios.sim.release
- name: Test
run: npx detox test --configuration ios.sim.release --cleanup
- name: Upload artifacts on failure
if: failure()
uses: actions/[email protected]
with:
name: detox-test-artifacts
path: e2e/artifacts/
retention-days: 7