1name: Create Expo App
2
3on:
4  push:
5    branches: [main, 'sdk-*']
6    paths:
7      - .github/workflows/create-expo-app.yml
8      - packages/create-expo/**
9      - yarn.lock
10  pull_request:
11    paths:
12      - .github/workflows/create-expo-app.yml
13      - packages/create-expo/**
14      - yarn.lock
15  schedule:
16    - cron: 0 14 * * *
17
18concurrency:
19  group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
20  cancel-in-progress: true
21
22jobs:
23  test:
24    runs-on: ubuntu-22.04
25    steps:
26      - name: �� Checkout
27        uses: actions/checkout@v3
28        with:
29          fetch-depth: 100
30      - name: ⬇️ Fetch commits from base branch
31        run: git fetch origin ${{ github.event.before || github.base_ref || 'main' }}:${{ github.event.before || github.base_ref || 'main' }} --depth 100
32        if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
33      - name: ♻️ Restore caches
34        uses: ./.github/actions/expo-caches
35        id: expo-caches
36        with:
37          yarn-workspace: 'true'
38      - name: �� Install node modules in root dir
39        if: steps.expo-caches.outputs.yarn-workspace-hit != 'true'
40        run: yarn install --frozen-lockfile
41      - name: �� Build create-expo
42        run: yarn prepare
43        working-directory: packages/create-expo
44      - name: E2E Test create-expo
45        run: yarn test:e2e
46        working-directory: packages/create-expo