@@ -103,6 +103,12 @@ jobs:
103103 failed_projects : ${{ steps.set-failed.outputs.failed_projects }}
104104 steps :
105105 - uses : actions/checkout@v4
106+ # The previous `npm install --global pnpm` step picked up a pnpm release that
107+ # treats ignored build scripts (bufferutil, utf-8-validate) as a hard error and
108+ # fails `pnpm install --frozen-lockfile`. The other workflows (anchor, native,
109+ # pinocchio, typescript) use pnpm/action-setup@v4, which pins a known-good pnpm
110+ # release (10.33.0 at time of writing) that only warns. Match that here.
111+ - uses : pnpm/action-setup@v4
106112 - name : Use Node.js
107113 uses : actions/setup-node@v4
108114 with :
@@ -180,15 +186,16 @@ jobs:
180186 # Make the script executable
181187 chmod +x build_and_test.sh
182188
183- # Install pnpm
184- npm install --global pnpm
189+ # pnpm is installed by pnpm/action-setup@v4 above. Avoid `npm install --global pnpm`
190+ # here because that resolves to pnpm 10+, which errors on ignored build scripts.
185191
186192 # Install sbpf assembler
187193 cargo install --git https://github.com/blueshift-gg/sbpf.git
188194 - name : Setup Solana Stable
189195 uses : heyAyushh/setup-solana@v5.9
190196 with :
191- solana-cli-version : stable
197+ # setup-anchor resolves tags like stable by querying GitHub API for latest release which can fail with 429 errors
198+ solana-cli-version : 3.1.14
192199 - name : Build and Test with Stable
193200 run : |
194201 source build_and_test.sh
0 commit comments