End-to-End Testing with Detox #2
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |