[pull] main from expo:main #3167
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: tvOS Compile EAS | |
on: | |
workflow_dispatch: {} | |
pull_request: | |
paths: | |
- .github/workflows/tvos-compile-test.yml | |
- packages/expo-modules-core/ios/Core/Views/SwiftUI/** | |
- packages/expo-ui/** | |
- packages/expo-updates/e2e/setup/create-eas-project-tv.ts | |
- packages/expo-updates/e2e/setup/project.ts | |
push: | |
branches: [main, 'sdk-*'] | |
paths: | |
- .github/workflows/tvos-compile-test.yml | |
- packages/@expo/cli/** | |
- packages/@expo/config-plugins/** | |
- packages/@expo/env/** | |
- packages/@expo/metro-config/** | |
- packages/@expo/prebuild-config/** | |
- packages/expo/** | |
- packages/expo-av/** | |
- packages/expo-apple-authentication/** | |
- packages/expo-application/** | |
- packages/expo-asset/** | |
- packages/expo-audio/** | |
- packages/expo-blur/** | |
- packages/expo-crypto/** | |
- packages/expo-device/** | |
- packages/expo-file-system/** | |
- packages/expo-font/** | |
- packages/expo-image/** | |
- packages/expo-json-utils/** | |
- packages/expo-keep-awake/** | |
- packages/expo-linear-gradient/** | |
- packages/expo-linking/** | |
- packages/expo-localization/** | |
- packages/expo-manifests/** | |
- packages/expo-media-library/** | |
- packages/expo-modules-autolinking/** | |
- packages/expo-modules-core/** | |
- packages/expo-network/** | |
- packages/expo-secure-store/** | |
- packages/expo-splash-screen/** | |
- packages/expo-symbols/** | |
- packages/expo-system-ui/** | |
- packages/expo-structured-headers/** | |
- packages/expo-ui/** | |
- packages/expo-updates-interface/** | |
- packages/expo-updates/** | |
- packages/expo-video/** | |
- templates/expo-template-bare-minimum/** | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 60 | |
env: | |
UPDATES_PORT: 4747 | |
steps: | |
- name: 👀 Checkout | |
uses: actions/checkout@v4 | |
- name: ⬢ Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- name: ➕ Add `bin` to GITHUB_PATH | |
run: echo "$(yarn global bin)" >> $GITHUB_PATH | |
- name: ♻️ Restore caches | |
uses: ./.github/actions/expo-caches | |
id: expo-caches | |
with: | |
yarn-workspace: 'true' | |
- name: 🧶 Yarn install | |
if: steps.expo-caches.outputs.yarn-workspace-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- name: 🔧 Install eas-cli | |
run: yarn global add eas-cli | |
- name: 🌳 Add EXPO_REPO_ROOT to environment | |
run: echo "EXPO_REPO_ROOT=$GITHUB_WORKSPACE" >> $GITHUB_ENV | |
- name: 🌐 Set updates host | |
run: echo "UPDATES_HOST=localhost" >> $GITHUB_ENV | |
- name: 🌐 Set updates port | |
run: echo "UPDATES_PORT=4747" >> $GITHUB_ENV | |
- name: 📦 Set platform for TV build | |
run: echo "EAS_PLATFORM=ios" >> $GITHUB_ENV | |
- name: 📦 Get artifacts path | |
run: mkdir -p artifact && echo "ARTIFACTS_DEST=$(pwd)/artifact" >> $GITHUB_ENV | |
- name: 📦 Get commit message | |
run: echo "COMMIT_MESSAGE=$(git log -1 --pretty=oneline | head -c1000)" >> $GITHUB_ENV | |
- name: 📦 Set test project location | |
run: echo "TEST_PROJECT_ROOT=${{ runner.temp }}/updates-e2e" >> $GITHUB_ENV | |
- name: 📦 Setup test project for testing Apple TV build | |
run: yarn --silent ts-node --transpile-only ./packages/expo-updates/e2e/setup/create-eas-project-tv.ts | |
- name: 🚀 Build with EAS for tvOS | |
uses: ./.github/actions/eas-build | |
id: build_eas | |
with: | |
platform: ${{ env.EAS_PLATFORM }} | |
profile: 'updates_testing_debug' | |
projectRoot: '${{ runner.temp }}/updates-e2e' | |
expoToken: ${{ secrets.EAS_BUILD_BOT_TOKEN }} | |
noWait: ${{ github.event.schedule }} | |
message: ${{ github.event.pull_request.title }} | |
- name: On tvOS compile workflow canceled | |
if: ${{ cancelled() && steps.build_eas.outputs.build_id }} | |
run: eas build:cancel ${{ steps.build_eas.outputs.build_id }} | |
working-directory: '${{ runner.temp }}/updates-e2e' | |
env: | |
EXPO_TOKEN: ${{ secrets.EAS_BUILD_BOT_TOKEN }} | |
EAS_BUILD_PROFILE: updates_testing_debug |