Skip to content

build: drop vendored Playground builds for released @wp-playground/cli#101

Merged
pento merged 2 commits into
mainfrom
drop-vendored-playground-cli
Jun 6, 2026
Merged

build: drop vendored Playground builds for released @wp-playground/cli#101
pento merged 2 commits into
mainfrom
drop-vendored-playground-cli

Conversation

@pento

@pento pento commented Jun 6, 2026

Copy link
Copy Markdown
Owner

What

Drops the vendored @wp-playground/cli + @php-wasm/universal tarballs (a build of WordPress/wordpress-playground#3494) and depends on released @wp-playground/cli@^3.1.36 instead.

Why

The vendored build worked around a Playground worker-pool bug: the object-pool proxy returned a PHP worker to the free list before its streamed response finished, so concurrent e2e requests landed on a mid-response worker and WordPress returned 500. That PR was closed unmerged; the issue was fixed upstream by WordPress/wordpress-playground#3553 ("Hold pooled workers until streamed responses finish"), shipped in the 3.1.2x line (latest 3.1.36).

Changes

  • @wp-playground/cli: file:./vendor/...-pr3494.tgz -> ^3.1.36
  • Drop the @php-wasm/universal file: override (now resolves transitively to 3.1.36); kept the unrelated e2e-test-utils-playwright -> @types/node override
  • Remove the vendor/ tarballs
  • Run the e2e Playground server with --workers=auto

Verification

  • e2e: 23/23 on 4 workers, zero 5xx (the original bug's signature)
  • php: 140/140
  • Checked the Playground CLI changelog 3.1.21 -> 3.1.36 — no breaking changes to the CLI flags we use

Note

Unrelated to this change: the Playground CLI's native fs-ext-extra-prebuilt dependency has no Node 26 prebuilt yet (binaries stop at node-25), so verify locally on Node <= 25. CI is unaffected — it runs e2e + php on Node 22.

The vendored @wp-playground/cli + @php-wasm/universal tarballs (a build of
WordPress/wordpress-playground#3494) worked around a worker-pool bug that
returned PHP workers to the pool before their streamed response finished,
causing intermittent 500s under concurrent e2e requests. That bug was fixed
upstream (WordPress/wordpress-playground#3553) and shipped in the 3.1.2x
line, so depend on the released package instead.

- @wp-playground/cli: file:./vendor/...-pr3494.tgz -> ^3.1.36
- drop the @php-wasm/universal file: override (now resolves transitively)
- remove the vendor/ tarballs
- run the e2e Playground server with --workers=auto

Verified: e2e 23/23 on 4 workers (no 5xx), php 140/140.
Copilot AI review requested due to automatic review settings June 6, 2026 07:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes vendored Playground CLI tarballs and switches the project to consume the released @wp-playground/cli@^3.1.36, aligning the e2e environment with upstream fixes to the worker pool behavior.

Changes:

  • Update @wp-playground/cli dependency from a vendored file: tarball to ^3.1.36 and drop the @php-wasm/universal vendored override.
  • Adjust e2e pretest build steps in package.json.
  • Run the Playground e2e server with --workers=auto.

Reviewed changes

Copilot reviewed 2 out of 5 changed files in this pull request and generated 1 comment.

File Description
tests/e2e/helpers/playground.ts Adds --workers=auto when starting the Playground server for e2e runs.
package.json Switches to released @wp-playground/cli, removes a vendored override, and updates the pretest:e2e build command.

Comment thread package.json
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Coverage Report — plugin-php

Metric Value
Current coverage 99.06% (738/745)
Baseline coverage 99.06% (738/745)
Result PASS

✅ Coverage Report — plugin-typescript

Metric Value
Current coverage 99.91% (1131/1132)
Baseline coverage 99.91% (1131/1132)
Result PASS

✅ Coverage Report — typescript

Metric Value
Current coverage 96.58% (2681/2776)
Baseline coverage 96.58% (2681/2776)
Result PASS

@pento pento merged commit 669eccf into main Jun 6, 2026
8 checks passed
@pento pento deleted the drop-vendored-playground-cli branch June 6, 2026 08:08
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