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@v2 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 Java 11 31 run: export JAVA_HOME=$JAVA_HOME_11_X64 32 - name: Set up android emulator 33 uses: reactivecircus/android-emulator-runner@v2 34 with: 35 api-level: 29 36 avd-name: DevClientEmulator 37 script: echo "expo is awesome" 38 - name: Install `expo-test-runner` 39 run: | 40 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') 41 working-directory: packages/expo-dev-client 42 - name: ♂️ Run tests 43 run: | 44 yarn latest-e2e 45 working-directory: packages/expo-dev-client 46 - name: Store artifacts of build failures 47 if: failure() 48 uses: actions/upload-artifact@v2 49 with: 50 name: expo-dev-client-latest-e2e-artifacts 51 path: packages/expo-dev-client/artifacts 52 - name: Notify on Slack 53 uses: 8398a7/action-slack@v3 54 if: failure() 55 env: 56 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 57 SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_dev_client }} 58 with: 59 channel: '#dev-clients' 60 status: ${{ job.status }} 61 fields: job,message,ref,eventName,author,took 62 author_name: Dev Client e2e 63