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-11 22 steps: 23 - name: Checkout 24 uses: actions/checkout@v2 25 - name: Install required tools 26 run: | 27 brew tap wix/brew 28 brew install applesimutils 29 brew install watchman 30 echo "$(pwd)/bin" >> $GITHUB_PATH 31 - name: Setup Ruby and install gems 32 uses: ruby/setup-ruby@v1 33 with: 34 bundler-cache: true 35 - name: Install cocoapods 36 run: sudo gem install cocoapods 37 - name: Set up android emulator 38 uses: reactivecircus/android-emulator-runner@v2 39 with: 40 api-level: 29 41 avd-name: DevClientEmulator 42 script: echo "expo is awesome" 43 - name: Install `expo-test-runner` 44 run: | 45 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') 46 working-directory: packages/expo-dev-client 47 - name: ♂️ Run tests 48 run: | 49 yarn e2e 50 working-directory: packages/expo-dev-client 51 - name: Store artifacts of build failures 52 if: failure() 53 uses: actions/upload-artifact@v2 54 with: 55 name: expo-dev-client-e2e-artifacts 56 path: packages/expo-dev-client/artifacts 57