18513c0b1SŁukasz Kosmatyname: Development Client e2e
28513c0b1SŁukasz Kosmaty
38513c0b1SŁukasz Kosmatyon:
48513c0b1SŁukasz Kosmaty  workflow_dispatch: {}
58513c0b1SŁukasz Kosmaty  pull_request:
68513c0b1SŁukasz Kosmaty    paths:
78513c0b1SŁukasz Kosmaty      - .github/workflows/development-client-e2e.yml
88513c0b1SŁukasz Kosmaty      - packages/expo-dev-*/**
98513c0b1SŁukasz Kosmaty  push:
1046843043SBrent Vatne    branches: [main]
118513c0b1SŁukasz Kosmaty    paths:
128513c0b1SŁukasz Kosmaty      - .github/workflows/development-client-e2e.yml
138513c0b1SŁukasz Kosmaty      - packages/expo-dev-*/**
148513c0b1SŁukasz Kosmaty
158513c0b1SŁukasz Kosmatyconcurrency:
168513c0b1SŁukasz Kosmaty  group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
178513c0b1SŁukasz Kosmaty  cancel-in-progress: true
188513c0b1SŁukasz Kosmaty
198513c0b1SŁukasz Kosmatyjobs:
208513c0b1SŁukasz Kosmaty  detox_e2e:
21e66e0f7dSKudo Chien    runs-on: macos-13
22fc12ed2dSBartosz Kaszubowski    strategy:
23fc12ed2dSBartosz Kaszubowski      matrix:
24383b651eSKudo Chien        api-level: [33]
258513c0b1SŁukasz Kosmaty    steps:
268513c0b1SŁukasz Kosmaty      - name: �� Checkout
274af7344cSBartosz Kaszubowski        uses: actions/checkout@v3
28fc12ed2dSBartosz Kaszubowski      - name: ➕ Add `bin` to GITHUB_PATH
29fc12ed2dSBartosz Kaszubowski        run: echo "$(pwd)/bin" >> $GITHUB_PATH
308513c0b1SŁukasz Kosmaty      - name: �� Install required tools
318513c0b1SŁukasz Kosmaty        run: |
328513c0b1SŁukasz Kosmaty          brew tap wix/brew
338513c0b1SŁukasz Kosmaty          brew install applesimutils
348513c0b1SŁukasz Kosmaty          brew install watchman
358513c0b1SŁukasz Kosmaty      - name: �� Setup Ruby and install gems
368513c0b1SŁukasz Kosmaty        uses: ruby/setup-ruby@v1
378513c0b1SŁukasz Kosmaty        with:
388513c0b1SŁukasz Kosmaty          bundler-cache: true
39*c627e13dSDouglas Lowder          ruby-version: 3.2.2
408513c0b1SŁukasz Kosmaty      - name: �� Install cocoapods
418513c0b1SŁukasz Kosmaty        run: sudo gem install cocoapods
42fc12ed2dSBartosz Kaszubowski      - name: ♻️ Restore caches
43fc12ed2dSBartosz Kaszubowski        uses: ./.github/actions/expo-caches
44fc12ed2dSBartosz Kaszubowski        id: expo-caches
458513c0b1SŁukasz Kosmaty        with:
46383b651eSKudo Chien          gradle: 'true'
47fc12ed2dSBartosz Kaszubowski          yarn-workspace: 'true'
48383b651eSKudo Chien      - name: �� Set up android emulator
49383b651eSKudo Chien        uses: ./.github/actions/use-android-emulator
50383b651eSKudo Chien        with:
51fc12ed2dSBartosz Kaszubowski          avd-api: ${{ matrix.api-level }}
52383b651eSKudo Chien          avd-name: avd-${{ matrix.api-level }}
538513c0b1SŁukasz Kosmaty      - name: �� Install `expo-test-runner`
548513c0b1SŁukasz Kosmaty        run: |
558513c0b1SŁukasz Kosmaty          yarn global add expo-test-runner@$(cat package.json | grep '"expo-test-runner": "[0-9]*\.[0-9]*\.[0-9]*' | head -n 1 | awk '{print $2}' | sed 's/"//g; s/,//g')
568513c0b1SŁukasz Kosmaty        working-directory: packages/expo-dev-client
57fc12ed2dSBartosz Kaszubowski      - name: �� Run tests
588513c0b1SŁukasz Kosmaty        run: |
598513c0b1SŁukasz Kosmaty          yarn e2e
608513c0b1SŁukasz Kosmaty        working-directory: packages/expo-dev-client
61fc12ed2dSBartosz Kaszubowski      - name: �� Store artifacts of build failures
62ae2ea9f2SŁukasz Kosmaty        if: failure()
634af7344cSBartosz Kaszubowski        uses: actions/upload-artifact@v3
64ae2ea9f2SŁukasz Kosmaty        with:
65ae2ea9f2SŁukasz Kosmaty          name: expo-dev-client-e2e-artifacts
66ae2ea9f2SŁukasz Kosmaty          path: packages/expo-dev-client/artifacts
67