Detox E2E iOS #949
This file contains 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: Detox E2E iOS | |
on: workflow_dispatch | |
jobs: | |
detox-ios: | |
timeout-minutes: 25 | |
runs-on: [macos-latest-xlarge] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@master | |
with: | |
node-version: 18.12.1 | |
- name: Install dependencies | |
run: | | |
npm ci | |
npm run lerna bootstrap -- --scope=\'{@quiet/eslint-config,@quiet/logger,@quiet/common,@quiet/types,@quiet/state-manager,@quiet/backend,@quiet/identity,@quiet/mobile,backend-bundle}\' | |
- name: Pull binaries | |
run: | | |
git lfs install --force | |
git lfs pull | |
- name: Install pods | |
run: | | |
cd packages/mobile/ios | |
pod install | |
- name: List simulator devices | |
run: xcrun simctl list devices | |
- name: Boot simulator | |
run: | | |
UDID=$(xcrun simctl list devices | grep 'iPhone 15 (' | awk -F '[()]' '{print $2}' | awk 'NR==2') | |
xcrun simctl boot "$UDID" | |
- name: Install pm2 | |
run: npm install pm2@latest -g | |
- name: Start metro | |
run: | | |
cd packages/mobile | |
pm2 --name METRO start npm -- start | |
- name: Install Detox CLI | |
run: npm install detox-cli --global | |
- name: Install applesimutils | |
run: | | |
brew tap wix/brew | |
brew install applesimutils | |
- name: Build Detox | |
run: | | |
cd packages/mobile | |
detox build -c ios.sim.debug.ci | |
- name: Run basic tests | |
run: | | |
cd packages/mobile | |
detox test starter -c ios.sim.debug.ci | |
- name: Stop metro | |
run: pm2 stop METRO | |
- name: Take screenshot | |
if: always() | |
run: | | |
/usr/bin/xcrun simctl io booted screenshot screenshot.png | |
- name: Upload screenshot | |
if: always() | |
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 | |
with: | |
name: screenshot.png | |
path: screenshot.png |