1name: Development Client e2e 2 3on: 4 workflow_dispatch: {} 5 pull_request: 6 paths: 7 - .github/workflows/development-client-e2e.yml 8 - packages/expo-dev-*/** 9 push: 10 branches: [main] 11 paths: 12 - .github/workflows/development-client-e2e.yml 13 - packages/expo-dev-*/** 14 15concurrency: 16 group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} 17 cancel-in-progress: true 18 19jobs: 20 detox_e2e: 21 runs-on: macos-12 22 strategy: 23 matrix: 24 api-level: [31] 25 steps: 26 - name: Checkout 27 uses: actions/checkout@v3 28 - name: ➕ Add `bin` to GITHUB_PATH 29 run: echo "$(pwd)/bin" >> $GITHUB_PATH 30 - name: Install required tools 31 run: | 32 brew tap wix/brew 33 brew install applesimutils 34 brew install watchman 35 - name: Setup Ruby and install gems 36 uses: ruby/setup-ruby@v1 37 with: 38 bundler-cache: true 39 - name: Install cocoapods 40 run: sudo gem install cocoapods 41 - name: ♻️ Restore caches 42 uses: ./.github/actions/expo-caches 43 id: expo-caches 44 with: 45 yarn-workspace: 'true' 46 avd: 'true' 47 avd-api: ${{ matrix.api-level }} 48 - name: Install `expo-test-runner` 49 run: | 50 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') 51 working-directory: packages/expo-dev-client 52 - name: Run tests 53 run: | 54 yarn e2e 55 working-directory: packages/expo-dev-client 56 - name: Store artifacts of build failures 57 if: failure() 58 uses: actions/upload-artifact@v3 59 with: 60 name: expo-dev-client-e2e-artifacts 61 path: packages/expo-dev-client/artifacts 62