Skip to content

fix(ci): pin pnpm@9 to unblock publish - #556

Merged
parthlambdatest merged 1 commit into
LambdaTest:stagefrom
shrinishLT:fix-pnpm-ignored-builds
Aug 30, 2026
Merged

fix(ci): pin pnpm@9 to unblock publish#556
parthlambdatest merged 1 commit into
LambdaTest:stagefrom
shrinishLT:fix-pnpm-ignored-builds

Conversation

@shrinishLT

@shrinishLT shrinishLT commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Problem

The v4.1.80 publish failed:

Error: ERR_PNPM_IGNORED_BUILDS
  × installing dependencies
  ╰─▶ Ignored build scripts: @playwright/browser-chromium@1.54.2,
      @playwright/browser-firefox@1.54.2, @playwright/browser-webkit@1.54.2,
      esbuild@0.27.7, sharp@0.33.5

Cause

release.yaml installs pnpm unpinned:

- run: rm -rf pnpm-lock.yaml
- run: npm install -g pnpm      # ← always latest
- run: pnpm install

pnpm 10 turned ignored build scripts from a warning into a hard error. v4.1.79 published successfully on Aug 10; pnpm 10 landed between then and now, so the next publish was going to fail regardless of its contents — v4.1.80 was simply the first one cut. (The v4.1.72/v4.1.73 failures on Jul 22 are unrelated; a green v4.1.74 followed the same day.)

Fix

Pin pnpm@9 — the version that generated the committed lockfile (lockfileVersion: '9.0') and produced every successful publish to date. pnpm 9 runs build scripts by default, which all five blocked packages require:

package postinstall
sharp links the libvips native binary
esbuild downloads the platform binary
@playwright/browser-{chromium,firefox,webkit} download the browsers

One line; package.json is untouched.

Why not pnpm.onlyBuiltDependencies

Considered and deliberately left out. Once that allowlist exists, pnpm 10 silently skips build scripts for any package not in the list — so a future dependency needing one would break quietly, instead of failing loudly as it did here. The loud error is worth keeping as a signal; the unpinned install is the actual root cause.

Release state

4.1.80 is not on npm (latest published is 4.1.79) — the failed run never reached the publish step. So no version bump is needed: stage stays on 4.1.80 and that version is still free.

Order: merge this → re-run / re-cut v4.1.80 → then #554 (stage -> prod).

🤖 Generated with Claude Code

The v4.1.80 publish failed with ERR_PNPM_IGNORED_BUILDS. release.yaml installs
pnpm unpinned (npm install -g pnpm), so it picked up pnpm 10, which turned
ignored build scripts from a warning into a hard error. v4.1.79 published fine on
Aug 10; pnpm 10 landed in between, so the next publish was going to fail whoever
cut it.

Pin pnpm@9: the version that generated the committed lockfile (lockfileVersion
9.0) and produced every successful publish to date. The five blocked packages
(sharp, esbuild, the three @playwright/browser-*) all need their postinstall
scripts, and pnpm 9 runs them by default.

Deliberately not adding pnpm.onlyBuiltDependencies: once that allowlist exists,
pnpm 10 silently skips scripts for any package not listed, so a future dependency
needing one would break quietly instead of failing loudly as it did here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@shrinishLT
shrinishLT force-pushed the fix-pnpm-ignored-builds branch from 1f2b3ec to 66635f3 Compare August 30, 2026 06:41
@shrinishLT shrinishLT changed the title fix(ci): unblock publish after pnpm 10 made ignored build scripts fatal fix(ci): pin pnpm@9 to unblock publish Aug 30, 2026
@parthlambdatest
parthlambdatest merged commit 7e21426 into LambdaTest:stage Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants