1name: Development Client latest e2e 2 3on: 4 workflow_dispatch: {} 5 schedule: 6 - cron: '0 0 * * SUN' # 0:00 AM UTC time every Sunday 7 8concurrency: 9 group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} 10 cancel-in-progress: true 11 12jobs: 13 detox_latest_e2e: 14 runs-on: macos-11 15 steps: 16 - name: Checkout 17 uses: actions/checkout@v3 18 - name: Install required tools 19 run: | 20 brew tap wix/brew 21 brew install applesimutils 22 brew install watchman 23 echo "$(pwd)/bin" >> $GITHUB_PATH 24 - name: Setup Ruby and install gems 25 uses: ruby/setup-ruby@v1 26 with: 27 bundler-cache: true 28 - name: Install cocoapods 29 run: sudo gem install cocoapods 30 - name: Use JDK 11 31 uses: actions/setup-java@v3 32 with: 33 distribution: 'temurin' 34 java-version: '11' 35 - name: Set up android emulator 36 uses: reactivecircus/android-emulator-runner@v2 37 with: 38 api-level: 29 39 avd-name: DevClientEmulator 40 script: echo "expo is awesome" 41 - name: Install `expo-test-runner` 42 run: | 43 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') 44 working-directory: packages/expo-dev-client 45 - name: ♂️ Run tests 46 run: | 47 yarn latest-e2e 48 working-directory: packages/expo-dev-client 49 - name: Store artifacts of build failures 50 if: failure() 51 uses: actions/upload-artifact@v3 52 with: 53 name: expo-dev-client-latest-e2e-artifacts 54 path: packages/expo-dev-client/artifacts 55 - name: Notify on Slack 56 uses: 8398a7/action-slack@v3 57 if: failure() 58 env: 59 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 60 SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_dev_client }} 61 with: 62 channel: '#dev-clients' 63 status: ${{ job.status }} 64 fields: job,message,ref,eventName,author,took 65 author_name: Dev Client e2e 66