Skip to content

ci: speed up wp-env across PHPUnit and Playwright workflows#1653

Closed
jakejackson1 wants to merge 14 commits into
hot-patch-6.14.2from
hot-patch-6.15
Closed

ci: speed up wp-env across PHPUnit and Playwright workflows#1653
jakejackson1 wants to merge 14 commits into
hot-patch-6.14.2from
hot-patch-6.15

Conversation

@jakejackson1
Copy link
Copy Markdown
Member

Cache wp-env work directory, Composer, Yarn, Playwright browsers, and Docker layers across both test workflows so cold starts only pay the full provisioning cost on cache misses. Pin WordPress core to a fixed release in all wp-env configs (with a weekly bot that opens a PR when a new release ships) so the cache stays stable across runs.

PHPUnit: trim PR matrix to PHP 7.4/8.3/8.5 for fast feedback; full 7-version matrix runs on push to development/main and the new weekly cron. Drop the dedicated multisite matrix cell and run the multisite suite as a second step on the 8.3 cell against the same wp-env container.

Playwright: collapse the duplicate e2e-permalinks wp-env config into a single instance and flip permalink_structure per project via global-setup.ts; shard tests 4-ways in CI; aggregate shard results in a new notify job for the weekly schedule.

@jakejackson1 jakejackson1 changed the base branch from hot-patch to hot-patch-6.14.2 May 15, 2026 04:05
@jakejackson1 jakejackson1 changed the base branch from hot-patch-6.14.2 to hot-patch-6.14.1 May 15, 2026 04:05
jakejackson1 added a commit that referenced this pull request May 15, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.85%. Comparing base (a7b782e) to head (337c68d).

Additional details and impacted files
@@                  Coverage Diff                  @@
##           hot-patch-6.14.2    #1653       +/-   ##
=====================================================
+ Coverage             75.96%   92.85%   +16.88%     
=====================================================
  Files                   256       58      -198     
  Lines                 13339     1511    -11828     
  Branches                365      419       +54     
=====================================================
- Hits                  10133     1403     -8730     
+ Misses                 3201      103     -3098     
  Partials                  5        5               

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jakejackson1 jakejackson1 force-pushed the hot-patch-6.15 branch 2 times, most recently from d4632bb to 906b40d Compare May 17, 2026 20:04
jakejackson1 and others added 13 commits May 18, 2026 06:51
Update Webpack/Babel/ESLint configuration to current generation,
move php-scoper, release scripts, and PHPCS configuration under
tools/, refresh package.json/yarn.lock and composer.json/composer.lock
to current pinned versions, switch to TypeScript-capable build (add
tsconfig.json), and clean up legacy bin/ helper scripts that the new
tooling layout replaces.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Update coding-standards, deployment, javascript-tests, and phpunit
workflows to current GitHub Actions patterns; add an automated job
that tracks new WordPress core releases.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace the legacy TestCafe runner and its bash-driven install
helpers with a Playwright-based test suite under tests/playwright/,
including shared fixtures and helpers in tools/playwright/. The new
GitHub Actions workflow (playwright-e2e.yml) replaces
end-to-end-tests.yml and runs Playwright sharded across multiple
wp-env instances.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Relocate PHPUnit bootstrap, fixtures, and config under tools/phpunit,
introduce dedicated wp-env profiles (development/integration/e2e)
under tools/wp-env, refresh PHP and JS test suites for the current
toolchain, and update Jest config and supporting mu-plugins so that
tests run cleanly under WordPress 7.0 and PHP 8.5.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rewrite the licensing layer end-to-end: refresh the EDD plugin
updater integration, lift license state and helpers into
Helper_Abstract_Addon so add-ons can share behavior, expose the
updater on the data class for downstream code, and restructure the
license settings UI and Model_Settings/Controller_Settings handlers
to match.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add a Redact_Processor that masks license keys, download links,
and other sensitive values before they reach the log file, and
register it in Logger::pushProcessor alongside the existing
handlers. Adjusts the Logger docblock to credit the move from
Helper_Logger.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Introduce Helper_Interface_Extension_Uninstaller so add-ons can opt
into a unified uninstall pipeline, expand Model_Uninstall to drive
it, clear the new license/update cron hooks on deactivation, and add
an upgrade routine that removes the legacy update cache during
6.14 → 6.15 upgrades.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…y handling

Tighten the system report to surface temp directory health and
related configuration more clearly, and align View_System_Report
with the new model output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Route custom and core font validation through the new mPDF cache,
align template management with the cleaner cache lifecycle, and
harden Helper_Misc::cleanup_dir so it only deletes paths within
resolvable, allow-listed folders.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sweep src/assets/js/react and src/assets/js/admin to current React
patterns and ES module conventions, and refresh the legacy entries
bundle.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Move the bundled translation catalogs out of src/assets/languages
into the WordPress-standard languages/ directory (with .l10n.php
companions), regenerate the .po/.mo pairs for the shipped locales,
and add a tools/potomatic helper script plus dictionary that drives
the new translation workflow.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Apply a sweep of settings/field/view-layer cleanups across Helper_
classes, fields, models, views, bundled template configs, and the
matching SCSS partials: translator-comment coverage, narrow
visibility adjustments, and the remaining WordPress 7.0 / PHP 8.5
compatibility tweaks that the larger feature commits did not
absorb.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Point the plugin bootstrap at the new build/ asset paths, load
gravity-pdf-updater.php from the entry file, move the WordPress
text-domain to /languages, switch the API URL to api.gravitypdf.com,
adopt the WP 6.3+ defer script strategy, add a CLAUDE.md project
guide, and bump the version metadata in pdf.php and api.php.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jakejackson1 jakejackson1 changed the base branch from hot-patch-6.14.1 to hot-patch-6.14.2 May 17, 2026 22:06
@jakejackson1
Copy link
Copy Markdown
Member Author

Too broad an update. Closing

@jakejackson1 jakejackson1 deleted the hot-patch-6.15 branch May 17, 2026 22:59
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