xref: /expo/.github/workflows/cli.yml (revision 82452ed9)
15bb026e7SEvan Baconname: CLI
25bb026e7SEvan Bacon
35bb026e7SEvan Baconon:
45bb026e7SEvan Bacon  push:
546843043SBrent Vatne    branches: [main, 'sdk-*']
65bb026e7SEvan Bacon    paths:
75bb026e7SEvan Bacon      - .github/workflows/cli.yml
88d307f52SEvan Bacon      - packages/@expo/cli/**
95b5e713eSEvan Bacon      - packages/@expo/metro-runtime/**
105b5e713eSEvan Bacon      - packages/@expo/metro-config/**
1102eef4e1SKudo Chien      - packages/@expo/fingerprint/**
12*b7d15820SCedric van Putten      - packages/create-expo/**
135b5e713eSEvan Bacon      - packages/expo-router/**
145bb026e7SEvan Bacon      - yarn.lock
155bb026e7SEvan Bacon  pull_request:
165bb026e7SEvan Bacon    paths:
175bb026e7SEvan Bacon      - .github/workflows/cli.yml
188d307f52SEvan Bacon      - packages/@expo/cli/**
195b5e713eSEvan Bacon      - packages/@expo/metro-runtime/**
205b5e713eSEvan Bacon      - packages/@expo/metro-config/**
2102eef4e1SKudo Chien      - packages/@expo/fingerprint/**
22*b7d15820SCedric van Putten      - packages/create-expo/**
235b5e713eSEvan Bacon      - packages/expo-router/**
245bb026e7SEvan Bacon      - yarn.lock
255bb026e7SEvan Bacon  schedule:
265bb026e7SEvan Bacon    - cron: 0 14 * * *
275bb026e7SEvan Bacon
285bb026e7SEvan Baconconcurrency:
295bb026e7SEvan Bacon  group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
305bb026e7SEvan Bacon  cancel-in-progress: true
315bb026e7SEvan Bacon
325bb026e7SEvan Baconjobs:
335bb026e7SEvan Bacon  test:
349558d768SKudo Chien    runs-on: ubuntu-22.04
355bb026e7SEvan Bacon    steps:
36fc12ed2dSBartosz Kaszubowski      - name: �� Checkout
374af7344cSBartosz Kaszubowski        uses: actions/checkout@v3
385bb026e7SEvan Bacon        with:
395bb026e7SEvan Bacon          fetch-depth: 100
405bb026e7SEvan Bacon      - name: ⬇️ Fetch commits from base branch
4146843043SBrent Vatne        run: git fetch origin ${{ github.event.before || github.base_ref || 'main' }}:${{ github.event.before || github.base_ref || 'main' }} --depth 100
425bb026e7SEvan Bacon        if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
43fc12ed2dSBartosz Kaszubowski      - name: ♻️ Restore caches
44fc12ed2dSBartosz Kaszubowski        uses: ./.github/actions/expo-caches
45fc12ed2dSBartosz Kaszubowski        id: expo-caches
465bb026e7SEvan Bacon        with:
47fc12ed2dSBartosz Kaszubowski          yarn-workspace: 'true'
485bb026e7SEvan Bacon      - name: �� Install node modules in root dir
49fc12ed2dSBartosz Kaszubowski        if: steps.expo-caches.outputs.yarn-workspace-hit != 'true'
505bb026e7SEvan Bacon        run: yarn install --frozen-lockfile
51da5824c9SKudo Chien      - name: �� Type Check CLI
52da5824c9SKudo Chien        run: yarn typecheck
53da5824c9SKudo Chien        working-directory: packages/@expo/cli
54fc12ed2dSBartosz Kaszubowski      - name: �� Build CLI
558d307f52SEvan Bacon        run: yarn prepare
568d307f52SEvan Bacon        working-directory: packages/@expo/cli
5799f2c51bSEvan Bacon      - name: E2E Test CLI
588d307f52SEvan Bacon        run: yarn test:e2e
598d307f52SEvan Bacon        working-directory: packages/@expo/cli
6002eef4e1SKudo Chien      - name: E2E Test @expo/fingerprint
6102eef4e1SKudo Chien        run: yarn test:e2e
6202eef4e1SKudo Chien        working-directory: packages/@expo/fingerprint
635bb026e7SEvan Bacon      # - name: �� Notify on Slack
645bb026e7SEvan Bacon      #   uses: 8398a7/action-slack@v3
6546843043SBrent Vatne      #   if: failure() && (github.event.ref == 'refs/heads/main' || startsWith(github.event.ref, 'refs/heads/sdk-'))
665bb026e7SEvan Bacon      #   env:
675bb026e7SEvan Bacon      #     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
685bb026e7SEvan Bacon      #     SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }}
695bb026e7SEvan Bacon      #   with:
705bb026e7SEvan Bacon      #     channel: '#expo-cli'
715bb026e7SEvan Bacon      #     status: ${{ job.status }}
725bb026e7SEvan Bacon      #     fields: job,message,ref,eventName,author,took
735bb026e7SEvan Bacon      #     author_name: Check packages
74