EAS iOS build + submit #4
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: EAS iOS build + submit | |
| # Triggers an EAS *cloud* build of the iOS app and auto-submits to TestFlight. | |
| # The compile runs on EAS infrastructure (sharp's source-build is avoided via | |
| # SHARP_IGNORE_GLOBAL_LIBVIPS in the build profile env) — no macOS runner or | |
| # Xcode here. node_modules ARE still required on this runner though: eas-cli | |
| # resolves app.config.ts (expo-router & co. config plugins) locally before | |
| # uploading the project archive, and fails with "Failed to resolve plugin" | |
| # without an install. | |
| # | |
| # Required secret: EXPO_TOKEN (expo.dev > Account settings > Access tokens). | |
| # iOS signing credentials + the App Store Connect API key are EAS-managed. | |
| on: | |
| workflow_dispatch: | |
| jobs: | |
| ios: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 # version from root package.json `packageManager` | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile | |
| - run: npm install -g eas-cli | |
| - name: EAS cloud build + auto-submit (iOS) | |
| working-directory: packages/app | |
| env: | |
| EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }} | |
| run: eas build --platform ios --profile production --auto-submit --non-interactive |