1name: CLI 2 3on: 4 push: 5 branches: [main, 'sdk-*'] 6 paths: 7 - .github/workflows/cli.yml 8 - packages/@expo/cli/** 9 - packages/@expo/metro-runtime/** 10 - packages/@expo/metro-config/** 11 - packages/@expo/fingerprint/** 12 - packages/create-expo/** 13 - packages/expo-router/** 14 - yarn.lock 15 pull_request: 16 paths: 17 - .github/workflows/cli.yml 18 - packages/@expo/cli/** 19 - packages/@expo/metro-runtime/** 20 - packages/@expo/metro-config/** 21 - packages/@expo/fingerprint/** 22 - packages/create-expo/** 23 - packages/expo-router/** 24 - yarn.lock 25 schedule: 26 - cron: 0 14 * * * 27 28concurrency: 29 group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} 30 cancel-in-progress: true 31 32jobs: 33 test: 34 runs-on: ubuntu-22.04 35 steps: 36 - name: Checkout 37 uses: actions/checkout@v3 38 with: 39 fetch-depth: 100 40 - name: ⬇️ Fetch commits from base branch 41 run: git fetch origin ${{ github.event.before || github.base_ref || 'main' }}:${{ github.event.before || github.base_ref || 'main' }} --depth 100 42 if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' 43 - name: ♻️ Restore caches 44 uses: ./.github/actions/expo-caches 45 id: expo-caches 46 with: 47 yarn-workspace: 'true' 48 - name: Install node modules in root dir 49 if: steps.expo-caches.outputs.yarn-workspace-hit != 'true' 50 run: yarn install --frozen-lockfile 51 - name: Type Check CLI 52 run: yarn typecheck 53 working-directory: packages/@expo/cli 54 - name: Build CLI 55 run: yarn prepare 56 working-directory: packages/@expo/cli 57 - name: E2E Test CLI 58 run: yarn test:e2e 59 working-directory: packages/@expo/cli 60 - name: E2E Test @expo/fingerprint 61 run: yarn test:e2e 62 working-directory: packages/@expo/fingerprint 63 - name: Build create-expo 64 run: yarn prepare 65 working-directory: packages/create-expo 66 - name: E2E Test create-expo 67 run: yarn test:e2e 68 working-directory: packages/create-expo 69 # - name: Notify on Slack 70 # uses: 8398a7/action-slack@v3 71 # if: failure() && (github.event.ref == 'refs/heads/main' || startsWith(github.event.ref, 'refs/heads/sdk-')) 72 # env: 73 # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 74 # SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }} 75 # with: 76 # channel: '#expo-cli' 77 # status: ${{ job.status }} 78 # fields: job,message,ref,eventName,author,took 79 # author_name: Check packages 80