Skip to content

can not work with pnpm@11 #436

Description

@lisonge

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 }}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions