This repository was archived by the owner on Jan 17, 2026. It is now read-only.
SDK #33
This file contains hidden or 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: SDK | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| checkAll: | |
| description: 'type "check-all" to force checking all packages' | |
| required: false | |
| default: '' | |
| push: | |
| branches: [main, 'sdk-*'] | |
| paths: | |
| - .github/workflows/sdk.yml | |
| - tools/** | |
| - packages/** | |
| - yarn.lock | |
| pull_request: | |
| paths: | |
| - .github/workflows/sdk.yml | |
| - tools/** | |
| - packages/** | |
| - yarn.lock | |
| schedule: | |
| - cron: 0 14 * * * | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check-packages: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: 👀 Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 100 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| module-scripts: | |
| - 'packages/expo-module-scripts/**' | |
| - 'packages/jest-expo/**' | |
| - name: ⬇️ Fetch commits from base branch | |
| run: git fetch origin ${{ github.base_ref || github.event.before || 'main' }}:${{ github.base_ref || github.event.before || 'main' }} --depth 100 | |
| if: github.event_name == 'pull_request' | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: 🏗️ Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: ♻️ Restore caches | |
| uses: ./.github/actions/expo-caches | |
| id: expo-caches | |
| with: | |
| yarn-workspace: 'true' | |
| yarn-tools: 'true' | |
| - name: 🧶 Install workspace node modules | |
| if: steps.expo-caches.outputs.yarn-workspace-hit != 'true' | |
| run: yarn install --frozen-lockfile | |
| - name: 🧐 Check all packages | |
| if: | |
| github.event_name == 'schedule' || | |
| github.event.inputs.checkAll == 'check-all' || | |
| steps.filter.outputs.module-scripts == 'true' | |
| run: node bin/expotools check-packages --all | |
| - name: 🧐 Check changed packages | |
| if: | |
| github.event_name != 'schedule' && | |
| github.event.inputs.checkAll != 'check-all' && | |
| steps.filter.outputs.module-scripts != 'true' | |
| env: | |
| SINCE: ${{ github.base_ref || github.event.before || 'main' }} | |
| run: node bin/expotools check-packages --since $SINCE --core | |
| - name: 🔔 Notify on Slack | |
| uses: ./.github/actions/slack-notify | |
| if: failure() && (github.event_name == 'schedule' || github.event.ref == 'refs/heads/main' || startsWith(github.event.ref, 'refs/heads/sdk-')) | |
| with: | |
| webhook: ${{ secrets.slack_webhook_api }} | |
| author_name: Check packages | |
| check-packages-windows: | |
| runs-on: windows-latest | |
| if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }} | |
| steps: | |
| - name: 👀 Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 100 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: 🏗️ Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: ♻️ Restore caches | |
| uses: ./.github/actions/expo-caches | |
| id: expo-caches | |
| with: | |
| yarn-workspace: 'true' | |
| yarn-tools: 'true' | |
| - name: 🧶 Install workspace node modules | |
| if: steps.expo-caches.outputs.yarn-workspace-hit != 'true' | |
| run: yarn install --frozen-lockfile | |
| - name: 🧐 Check all packages | |
| run: node bin/expotools check-packages --all | |
| - name: 🔔 Notify on Slack | |
| uses: ./.github/actions/slack-notify | |
| if: failure() && (github.event_name == 'schedule' || github.event.ref == 'refs/heads/main' || startsWith(github.event.ref, 'refs/heads/sdk-')) | |
| with: | |
| webhook: ${{ secrets.slack_webhook_api }} | |
| author_name: Check packages |