Skip to content
This repository was archived by the owner on Jan 17, 2026. It is now read-only.

SDK

SDK #33

Workflow file for this run

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