reproduction
https://github.com/lisonge/test-wrangler-action
https://github.com/lisonge/test-wrangler-action/actions/runs/26264742770/job/77305531766
log
2026-05-22T02:22:59.5426414Z ##[group]📥 Installing Wrangler
2026-05-22T02:22:59.5442120Z [command]/home/runner/setup-pnpm/node_modules/.bin/bin/pnpm add wrangler@4
2026-05-22T02:23:00.0001234Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-22T02:23:01.0027286Z Progress: resolved 8, reused 1, downloaded 0, added 0
2026-05-22T02:23:02.0025430Z Progress: resolved 114, reused 2, downloaded 33, added 0
2026-05-22T02:23:02.0473332Z Packages: +35
2026-05-22T02:23:02.0475166Z +++++++++++++++++++++++++++++++++++
2026-05-22T02:23:02.5125775Z Progress: resolved 116, reused 2, downloaded 37, added 35, done
2026-05-22T02:23:02.5433717Z .../esbuild@0.27.3/node_modules/esbuild postinstall$ node install.js
2026-05-22T02:23:02.5998206Z .../esbuild@0.27.3/node_modules/esbuild postinstall: Done
2026-05-22T02:23:02.8132327Z
2026-05-22T02:23:02.8133131Z dependencies:
2026-05-22T02:23:02.8133680Z + wrangler 4.93.0 (4.93.1 is available)
2026-05-22T02:23:02.8133882Z
2026-05-22T02:23:02.8379497Z [ERR_PNPM_IGNORED_BUILDS] Ignored build scripts: sharp@0.34.5, workerd@1.20260518.1
2026-05-22T02:23:02.8379846Z
2026-05-22T02:23:02.8380234Z Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.
2026-05-22T02:23:02.8970151Z ##[endgroup]
2026-05-22T02:23:02.8993621Z ##[error]The process '/home/runner/setup-pnpm/node_modules/.bin/bin/pnpm' failed with exit code 1
2026-05-22T02:23:02.9004714Z ##[error]🚨 Action failed
workflow
.github/workflows/deploy.yml
name: deploy
on:
workflow_dispatch:
push:
branches: ['main']
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
- uses: pnpm/action-setup@v6
- uses: cloudflare/wrangler-action@v4
with:
apiToken: apiToken
accountId: accountId
command: pages deploy dist --project-name=my-project
package.json
{
"name": "test-wrangler-action",
"type": "module",
"dependencies": {
"esbuild": "^0.28.0"
},
"volta": {
"node": "24.15.0",
"pnpm": "11.2.2"
},
"engineStrict": true,
"engines": {
"node": ">=24",
"pnpm": ">=11"
},
"devEngines": {
"runtime": {
"name": "node",
"onFail": "error"
},
"packageManager": {
"name": "pnpm",
"version": "11.2.2",
"onFail": "error"
}
}
}
temporary solution
pnpm-workspace.yaml
allowBuilds:
sharp: true
workerd: true
Better Solution
- name: Deploy website
run: >-
pnpm dlx --allow-build=sharp --allow-build=workerd wrangler@4.118.0
pages deploy dist_path --project-name=project_name
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
reproduction
https://github.com/lisonge/test-wrangler-action
https://github.com/lisonge/test-wrangler-action/actions/runs/26264742770/job/77305531766
log
workflow
.github/workflows/deploy.yml
package.json
{ "name": "test-wrangler-action", "type": "module", "dependencies": { "esbuild": "^0.28.0" }, "volta": { "node": "24.15.0", "pnpm": "11.2.2" }, "engineStrict": true, "engines": { "node": ">=24", "pnpm": ">=11" }, "devEngines": { "runtime": { "name": "node", "onFail": "error" }, "packageManager": { "name": "pnpm", "version": "11.2.2", "onFail": "error" } } }temporary solution
pnpm-workspace.yaml
Better Solution