From 97fc4df0c2a2a56bba3bdcbad9456b724e702ae7 Mon Sep 17 00:00:00 2001 From: James Maes Date: Wed, 13 May 2026 10:24:04 -0500 Subject: [PATCH] ci(actions): restore pnpm + node setup on app-build for Xcode build phase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #164 stripped the pnpm + Node setup from the app-build job, expecting the artifact download from the webview job to be sufficient. But the Xcode project has a build-phase script (Script-4B80D79B2A0254274258618C.sh) that invokes scripts/build-webview.sh as part of the xcodebuild build itself — and that script needs pnpm on PATH. Symptom on CI run 25806037658, App target job 75809074090: [build-webview] FATAL: pnpm not found on PATH (...) [build-webview] Install: brew install pnpm Command PhaseScriptExecution failed with a nonzero exit code Fix: re-add Setup pnpm + Setup Node.js steps before the xcodebuild runs. The artifact download still serves as a fast-path (the build phase re-stamps the bundle on top), but having pnpm on PATH means the build phase doesn't crash on the first invocation. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/ci.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8343ff4..e2370f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -187,7 +187,24 @@ jobs: run: sudo xcode-select -s /Applications/Xcode_26.3.app/Contents/Developer || sudo xcode-select -s /Applications/Xcode_26.app/Contents/Developer - name: Install xcodegen run: brew install xcodegen + # pnpm + node need to be on PATH because Xcode.app's project has a + # build-phase script (Script-4B80D79B2A0254274258618C.sh) that calls + # scripts/build-webview.sh during the build itself. Even though we + # download the prebuilt artifact below, the build phase still runs + # and re-stamps the bundle — and would error with + # "[build-webview] FATAL: pnpm not found on PATH" without these. + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 10.30.2 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "pnpm" + cache-dependency-path: webview/pnpm-lock.yaml # Reuse the webview build from the upstream job rather than rebuilding. + # The Xcode build phase will re-stamp these on top. - name: Download webview resources uses: actions/download-artifact@v4 with: -- 2.54.0