Update reprint.phar to v0.8.0 - #3248
Conversation
| /** | ||
| * Downloads the latest reprint.phar release from GitHub and saves it to | ||
| * apps/cli/lib/import/reprint.phar. Run manually or via `npm run update-reprint`. | ||
| * apps/cli/lib/pull/reprint.phar. Run manually or via `npm run update-reprint`. |
There was a problem hiding this comment.
We're not changing the path in this PR. This comment and OUTPUT_PATH below were off before.
The perf-report bench provisions the `large-directory` e2e site, which is a fresh `wp core install` with ~1 post. That means `db-pull` and `db-apply` finished in milliseconds, and SQL-rewriter optimizations (the kind in #158, #161, #163) didn't show up in the PR comment at all — the diff was dominated by noise on `preflight`. This pads the source DB with ~320k posts and ~720k postmeta rows before timing, matching the dataset shape used in the Automattic/studio#3248 measurement that actually surfaced the SQL-rewriter speedups (db-apply went from 431s to 134s on that dataset). With this in place, the next perf comment on a SQL-rewriter PR should show the real delta instead of single-digit milliseconds of jitter. Seeding runs once per CI container, is idempotent (skipped if `wp_posts` already has enough rows), and is tunable via `BENCH_SEED_POSTS` / `BENCH_SEED_POSTMETA` if you want a smaller dataset for local iteration. Per-stage timeout bumped to 900s and the workflow job timeout to 60 min so the heavier stages fit on slow runners.
📊 Performance Test ResultsComparing c1f31da vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
Related issues
How AI was used in this PRAI assistance was used to run benchmark iterations, inspect dependency diffs, and draft this PR text. The pushed changes and benchmark results were manually reviewed. Proposed Changes
BenchmarkManual large Docker fixture:
For the
Testing Instructions
I also ran full
Pre-merge Checklist
|
|
Added
This reflects the rule being applied in the stacked reprint PR: WordPress/reprint#220 |
|
As @wojtekn already mentioned, the Reprint dependency is now installed by fetching the latest release from GitHub. I'm closing this PR |
Related issues
v0.8.0: https://github.com/adamziel/reprint/releases/tag/v0.8.0How AI was used in this PR
AI assistance was used to run benchmark iterations, inspect dependency diffs, and draft this PR text. The pushed changes and benchmark results were manually reviewed.
Proposed Changes
apps/cli/lib/pull/reprint.pharfromv0.1.46tov0.8.0.v0.8.0reprint release, whose php-toolkit dependencies were updated to matchingwp-php-toolkit/*v0.8.0packages before tagging.3.1.33to3.1.34:@php-wasm/node,@php-wasm/universal,@php-wasm/util@wp-playground/blueprints,@wp-playground/cli,@wp-playground/common,@wp-playground/storage,@wp-playground/wordpress@php-wasm/universalruntime registry. This avoids splitting runtime IDs between@php-wasm/nodeand@php-wasm/universalafter the3.1.34package update.Benchmark
Manual large Docker fixture:
6.8.2-php8.3-apache+ MariaDB 11.v0.8.0.STUDIO_ENABLE_PULL_REPRINT=1 studio pull-reprint --url http://127.0.0.1:8199 --secret benchmark-secret --name <fresh-name> --verbose.HOME,DEV_CONFIG_DIR, andSTUDIO_PROCESS_MANAGER_HOMEfor each run.3.1.34.v3.0.0-rc.3.For the
v0.8.0run, the Docker WordPress container neededpdo_mysqlinstalled for the exporter preflight. I also used short/tmpisolation paths to avoid Unix socket path length failures in the process manager.v0.1.46v0.7.4v0.8.0v0.7.4studio pull-reprintwall timedb-pulldb-applyTesting Instructions
npx eslint --fix apps/cli/package.json apps/ui/package.json tools/benchmark-site-editor/package.jsonnpm run typechecknpm test -- apps/cli/commands/tests/pull-reprint.test.tsnpm test -- apps/cli/lib/pull/runtime-start-options.test.ts apps/cli/commands/tests/pull-reprint.test.tsnpm run cli:buildphp apps/cli/lib/pull/reprint.phar --versionv0.8.0php apps/cli/dist/cli/reprint.phar --versionv0.8.0node apps/cli/dist/cli/main.mjs --version1.9.0I also ran full
npm testlocally after a cleannpm ciunder Node24.14.1; it still fails in this workspace on pre-existing environment-sensitive tests:tools/common/lib/tests/chalk.test.tsbecause color output is disabled despite the test expecting ANSI escape sequences.Pre-merge Checklist