Create Expo App #103
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Expo App | |
on: | |
push: | |
branches: [main, 'sdk-*'] | |
paths: | |
- .github/workflows/create-expo-app.yml | |
- packages/create-expo/** | |
- yarn.lock | |
pull_request: | |
paths: | |
- .github/workflows/create-expo-app.yml | |
- packages/create-expo/** | |
- yarn.lock | |
schedule: | |
- cron: 0 14 * * * | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [18, 20, 22] | |
steps: | |
- name: 👀 Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 100 | |
- name: ⬇️ Fetch commits from base branch | |
run: git fetch origin ${{ github.event.before || github.base_ref || 'main' }}:${{ github.event.before || github.base_ref || 'main' }} --depth 100 | |
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
- name: 🏗️ Setup pnpm | |
uses: pnpm/action-setup@v3 | |
with: | |
version: 9.x | |
- name: 🏗️ Setup Bun | |
uses: oven-sh/setup-bun@v1 | |
with: | |
# Version `1.x` fails due to https://github.com/oven-sh/setup-bun/issues/37 | |
# TODO(cedric): swap `latest` back once the issue is resolved | |
bun-version: latest | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: ♻️ Restore caches | |
uses: ./.github/actions/expo-caches | |
id: expo-caches | |
with: | |
yarn-workspace: 'true' | |
- name: 🧶 Install node modules in root dir | |
if: steps.expo-caches.outputs.yarn-workspace-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- name: 🛠 Build create-expo | |
run: yarn prepare | |
working-directory: packages/create-expo | |
- name: E2E Test create-expo | |
run: yarn test:e2e | |
working-directory: packages/create-expo |