Skip to content

Commit 28e2a89

Browse files
yyq1025claude
andcommitted
ci: install workspace deps before eas build trigger
eas-cli resolves app.config.ts (expo-router & co. config plugins) on the trigger runner before uploading the project archive — "Failed to resolve plugin for module expo-router" without node_modules. The cloud-build-needs-nothing-local assumption only holds for the compile, not for config resolution. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 01c77b6 commit 28e2a89

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

.github/workflows/ios-build.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
name: EAS iOS build + submit
22

33
# Triggers an EAS *cloud* build of the iOS app and auto-submits to TestFlight.
4-
# The build runs on EAS infrastructure (sharp's source-build is avoided via
5-
# SHARP_IGNORE_GLOBAL_LIBVIPS in the build profile env), so this job only runs
6-
# the eas-cli trigger — no macOS runner, Xcode, or local install needed.
4+
# The compile runs on EAS infrastructure (sharp's source-build is avoided via
5+
# SHARP_IGNORE_GLOBAL_LIBVIPS in the build profile env) — no macOS runner or
6+
# Xcode here. node_modules ARE still required on this runner though: eas-cli
7+
# resolves app.config.ts (expo-router & co. config plugins) locally before
8+
# uploading the project archive, and fails with "Failed to resolve plugin"
9+
# without an install.
710
#
811
# Required secret: EXPO_TOKEN (expo.dev > Account settings > Access tokens).
912
# iOS signing credentials + the App Store Connect API key are EAS-managed.
@@ -16,9 +19,14 @@ jobs:
1619
steps:
1720
- uses: actions/checkout@v4
1821

22+
- uses: pnpm/action-setup@v4 # version from root package.json `packageManager`
23+
1924
- uses: actions/setup-node@v4
2025
with:
2126
node-version: 24
27+
cache: pnpm
28+
29+
- run: pnpm install --frozen-lockfile
2230

2331
- run: npm install -g eas-cli
2432

0 commit comments

Comments
 (0)