Skip to content

Stabilize legacy WordPress boot CI#3609

Draft
JanJakes wants to merge 5 commits into
trunkfrom
fix/legacy-wp-ci-stability
Draft

Stabilize legacy WordPress boot CI#3609
JanJakes wants to merge 5 commits into
trunkfrom
fix/legacy-wp-ci-stability

Conversation

@JanJakes
Copy link
Copy Markdown
Member

@JanJakes JanJakes commented May 7, 2026

What changed

  • Cache legacy WordPress ZIP downloads in GitHub Actions and serve them locally during the boot test.
  • Keep wp=4.9 style query values so Playground still uses the normal dotted-version resolver.
  • Retry Playwright browser installation and tolerate Actions cache-save races.
  • Keep the plugin activation timeout at 60 seconds, then do one URL-bar recheck before failing with diagnostics.
  • Group the legacy boot helpers under packages/playground/wordpress/tests/legacy-wp-version-boot/.

Why

The legacy boot job was frequently failing on transient infrastructure issues: WordPress.org download throttling, occasional Playwright install/network failures, and rare plugin activation timing races. The cache removes most WordPress.org traffic without changing the runtime code path under test.

Validation

  • Local focused run: WP_ONLY=6.2,4.9 node packages/playground/wordpress/tests/legacy-wp-version-boot/test.mjs
  • Local helper checks: node --check, Prettier, filtered ZIP download, and ZIP server smoke test.
  • GitHub Actions is green: 51 passed, 2 skipped.
  • test-legacy-wp-version-boot passed on the full run and four subsequent targeted/full rerun observations, including two final targeted reruns.

JanJakes added 3 commits May 8, 2026 12:01
Cache legacy WordPress release ZIPs through Actions cache, serve them locally with CORS during the boot suite, and retry Playwright browser installation to absorb rare apt mirror failures.
Keep the activation wait at 60 seconds, then re-check the plugins page before failing and include the latest frame URL, body excerpt, and recent browser errors in timeout diagnostics.
Do not fail the legacy boot job if another workflow run saves the same WordPress ZIP cache key first.
@akirk akirk force-pushed the fix/legacy-wp-ci-stability branch from 60c688e to 69a94c5 Compare May 8, 2026 10:01
JanJakes added 2 commits May 14, 2026 09:50
Use the existing CORS proxy hook for cached WordPress ZIPs so the test still passes dotted WordPress versions through the normal Playground resolver. This avoids the custom-URL branch that made older versions crawl to the CI timeout.\n\nAlso trims the plugin activation recovery to a URL-bar retry instead of direct scoped-frame URL rewriting.
Move the legacy WordPress boot helper scripts under one test-specific directory, use shorter names inside that directory, and update the workflow/project references.\n\nAlso narrow the local ZIP server back to cached WordPress ZIPs only and make WP_ONLY apply to the downloader so local focused runs do not need the full ZIP cache.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant