Repository navigation
Conversation
desrosj
added this pull request to stack #167
September 13, 2026 03:55
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
September 13, 2026 04:02
7907d32 to
cdb5a93
Compare
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
September 14, 2026 01:41
cdb5a93 to
8b9d4df
Compare
desrosj
added a commit
that referenced
this pull request
Sep 14, 2026
`bundle-size.yml`'s `Check` job never had a Node.js version pin of any kind (confirmed against the real upstream `wp/5.5` history -- this gap predates this project's stack entirely, unlike every other workflow file on this branch, which the `single-node-version-testing` layer (#166) already pinned via `actions/setup-node`'s `node-version-file: '.nvmrc'`). `preactjs/compressed-size-action` runs its own internal `npm ci` for both the PR's head and base commits, using whatever Node.js version the runner defaults to when no `actions/setup-node` step precedes it. On the current `ubuntu-24.04` runner image that default has drifted to Node.js 22.x, which is incompatible with several of this era's git-dependency `prepare` scripts -- confirmed via a real CI run on PR #338 (https://github.com/desrosj/gutenberg/actions/runs/34736948068/job/103669957891): `react-native-svg@9.13.6-gb`'s `bob build` (via `flowgen`/Babel) throws `SyntaxError: ... Missing initializer in const declaration` parsing a type-only `export const` in `src/index.d.ts`, a construct npm's bundled tooling under Node 22 chokes on but which is a non-issue under this branch's own pinned Node.js version. Every other job on this same PR (`JavaScript`, `PHP`, `Admin - 1..4`), which already set up Node via `.nvmrc` before running `npm ci`, gets past this dependency without incident. Later branches in this project (e.g. `wp/6.4`, `wp/6.5`) don't have this gap because their real upstream history had already added an equivalent `actions/setup-node` step to `bundle-size.yml` by the time those branches were cut -- confirmed directly against `WordPress/gutenberg`'s real `wp/6.4` branch. `wp/5.5` predates that upstream change, so it never inherited the step and needs it added here instead. Fixed by adding the same `Setup Node.js` / `actions/setup-node` (pinned to the same SHA already used everywhere else on this branch) / `node-version-file: '.nvmrc'` step already used by every other job in this branch's workflows, placed before the `compressed-size-action` step so its own internal `npm ci` runs under this branch's real Node.js version instead of the runner's floating default.
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
September 14, 2026 09:55
8b9d4df to
bd6734a
Compare
desrosj
added a commit
that referenced
this pull request
Sep 14, 2026
`bundle-size.yml`'s `Check` job never had a Node.js version pin of any kind (confirmed against the real upstream `wp/5.5` history -- this gap predates this project's stack entirely, unlike every other workflow file on this branch, which the `single-node-version-testing` layer (#166) already pinned via `actions/setup-node`'s `node-version-file: '.nvmrc'`). `preactjs/compressed-size-action` runs its own internal `npm ci` for both the PR's head and base commits, using whatever Node.js version the runner defaults to when no `actions/setup-node` step precedes it. On the current `ubuntu-24.04` runner image that default has drifted to Node.js 22.x, which is incompatible with several of this era's git-dependency `prepare` scripts -- confirmed via a real CI run on PR #338 (https://github.com/desrosj/gutenberg/actions/runs/34736948068/job/103669957891): `react-native-svg@9.13.6-gb`'s `bob build` (via `flowgen`/Babel) throws `SyntaxError: ... Missing initializer in const declaration` parsing a type-only `export const` in `src/index.d.ts`, a construct npm's bundled tooling under Node 22 chokes on but which is a non-issue under this branch's own pinned Node.js version. Every other job on this same PR (`JavaScript`, `PHP`, `Admin - 1..4`), which already set up Node via `.nvmrc` before running `npm ci`, gets past this dependency without incident. Later branches in this project (e.g. `wp/6.4`, `wp/6.5`) don't have this gap because their real upstream history had already added an equivalent `actions/setup-node` step to `bundle-size.yml` by the time those branches were cut -- confirmed directly against `WordPress/gutenberg`'s real `wp/6.4` branch. `wp/5.5` predates that upstream change, so it never inherited the step and needs it added here instead. Fixed by adding the same `Setup Node.js` / `actions/setup-node` (pinned to the same SHA already used everywhere else on this branch) / `node-version-file: '.nvmrc'` step already used by every other job in this branch's workflows, placed before the `compressed-size-action` step so its own internal `npm ci` runs under this branch's real Node.js version instead of the runner's floating default.
desrosj
removed this pull request from stack #167
September 21, 2026 17:57
desrosj
changed the base branch from
fix-actions-5.5/docker-compose-v2
to
wp/5.5
September 21, 2026 17:57
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
September 21, 2026 17:58
bd6734a to
4bb87b5
Compare
desrosj
added a commit
that referenced
this pull request
Sep 21, 2026
`bundle-size.yml`'s `Check` job never had a Node.js version pin of any kind (confirmed against the real upstream `wp/5.5` history -- this gap predates this project's stack entirely, unlike every other workflow file on this branch, which the `single-node-version-testing` layer (#166) already pinned via `actions/setup-node`'s `node-version-file: '.nvmrc'`). `preactjs/compressed-size-action` runs its own internal `npm ci` for both the PR's head and base commits, using whatever Node.js version the runner defaults to when no `actions/setup-node` step precedes it. On the current `ubuntu-24.04` runner image that default has drifted to Node.js 22.x, which is incompatible with several of this era's git-dependency `prepare` scripts -- confirmed via a real CI run on PR #338 (https://github.com/desrosj/gutenberg/actions/runs/34736948068/job/103669957891): `react-native-svg@9.13.6-gb`'s `bob build` (via `flowgen`/Babel) throws `SyntaxError: ... Missing initializer in const declaration` parsing a type-only `export const` in `src/index.d.ts`, a construct npm's bundled tooling under Node 22 chokes on but which is a non-issue under this branch's own pinned Node.js version. Every other job on this same PR (`JavaScript`, `PHP`, `Admin - 1..4`), which already set up Node via `.nvmrc` before running `npm ci`, gets past this dependency without incident. Later branches in this project (e.g. `wp/6.4`, `wp/6.5`) don't have this gap because their real upstream history had already added an equivalent `actions/setup-node` step to `bundle-size.yml` by the time those branches were cut -- confirmed directly against `WordPress/gutenberg`'s real `wp/6.4` branch. `wp/5.5` predates that upstream change, so it never inherited the step and needs it added here instead. Fixed by adding the same `Setup Node.js` / `actions/setup-node` (pinned to the same SHA already used everywhere else on this branch) / `node-version-file: '.nvmrc'` step already used by every other job in this branch's workflows, placed before the `compressed-size-action` step so its own internal `npm ci` runs under this branch's real Node.js version instead of the runner's floating default.
desrosj
changed the base branch from
wp/5.5
to
fix-actions-5.5/docker-compose-v2
September 21, 2026 18:00
desrosj
added this pull request to stack #400
September 21, 2026 18:00
desrosj
removed this pull request from stack #400
September 22, 2026 16:21
desrosj
changed the base branch from
fix-actions-5.5/docker-compose-v2
to
wp/5.5
September 22, 2026 16:21
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
September 22, 2026 16:24
4bb87b5 to
803b8da
Compare
desrosj
added a commit
that referenced
this pull request
Sep 22, 2026
`bundle-size.yml`'s `Check` job never had a Node.js version pin of any kind (confirmed against the real upstream `wp/5.5` history -- this gap predates this project's stack entirely, unlike every other workflow file on this branch, which the `single-node-version-testing` layer (#166) already pinned via `actions/setup-node`'s `node-version-file: '.nvmrc'`). `preactjs/compressed-size-action` runs its own internal `npm ci` for both the PR's head and base commits, using whatever Node.js version the runner defaults to when no `actions/setup-node` step precedes it. On the current `ubuntu-24.04` runner image that default has drifted to Node.js 22.x, which is incompatible with several of this era's git-dependency `prepare` scripts -- confirmed via a real CI run on PR #338 (https://github.com/desrosj/gutenberg/actions/runs/34736948068/job/103669957891): `react-native-svg@9.13.6-gb`'s `bob build` (via `flowgen`/Babel) throws `SyntaxError: ... Missing initializer in const declaration` parsing a type-only `export const` in `src/index.d.ts`, a construct npm's bundled tooling under Node 22 chokes on but which is a non-issue under this branch's own pinned Node.js version. Every other job on this same PR (`JavaScript`, `PHP`, `Admin - 1..4`), which already set up Node via `.nvmrc` before running `npm ci`, gets past this dependency without incident. Later branches in this project (e.g. `wp/6.4`, `wp/6.5`) don't have this gap because their real upstream history had already added an equivalent `actions/setup-node` step to `bundle-size.yml` by the time those branches were cut -- confirmed directly against `WordPress/gutenberg`'s real `wp/6.4` branch. `wp/5.5` predates that upstream change, so it never inherited the step and needs it added here instead. Fixed by adding the same `Setup Node.js` / `actions/setup-node` (pinned to the same SHA already used everywhere else on this branch) / `node-version-file: '.nvmrc'` step already used by every other job in this branch's workflows, placed before the `compressed-size-action` step so its own internal `npm ci` runs under this branch's real Node.js version instead of the runner's floating default.
desrosj
changed the base branch from
wp/5.5
to
fix-actions-5.5/docker-compose-v2
September 22, 2026 16:24
desrosj
added this pull request to stack #467
September 22, 2026 16:24
desrosj
removed this pull request from stack #467
September 23, 2026 21:31
desrosj
changed the base branch from
fix-actions-5.5/docker-compose-v2
to
wp/5.5
September 23, 2026 21:32
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
September 23, 2026 21:32
803b8da to
bead49d
Compare
desrosj
changed the base branch from
fix-actions-5.5/docker-compose-v2
to
wp/5.5
September 28, 2026 17:22
desrosj
added a commit
that referenced
this pull request
Sep 28, 2026
`bundle-size.yml`'s `Check` job never had a Node.js version pin of any kind (confirmed against the real upstream `wp/5.5` history -- this gap predates this project's stack entirely, unlike every other workflow file on this branch, which the `single-node-version-testing` layer (#166) already pinned via `actions/setup-node`'s `node-version-file: '.nvmrc'`). `preactjs/compressed-size-action` runs its own internal `npm ci` for both the PR's head and base commits, using whatever Node.js version the runner defaults to when no `actions/setup-node` step precedes it. On the current `ubuntu-24.04` runner image that default has drifted to Node.js 22.x, which is incompatible with several of this era's git-dependency `prepare` scripts -- confirmed via a real CI run on PR #338 (https://github.com/desrosj/gutenberg/actions/runs/34736948068/job/103669957891): `react-native-svg@9.13.6-gb`'s `bob build` (via `flowgen`/Babel) throws `SyntaxError: ... Missing initializer in const declaration` parsing a type-only `export const` in `src/index.d.ts`, a construct npm's bundled tooling under Node 22 chokes on but which is a non-issue under this branch's own pinned Node.js version. Every other job on this same PR (`JavaScript`, `PHP`, `Admin - 1..4`), which already set up Node via `.nvmrc` before running `npm ci`, gets past this dependency without incident. Later branches in this project (e.g. `wp/6.4`, `wp/6.5`) don't have this gap because their real upstream history had already added an equivalent `actions/setup-node` step to `bundle-size.yml` by the time those branches were cut -- confirmed directly against `WordPress/gutenberg`'s real `wp/6.4` branch. `wp/5.5` predates that upstream change, so it never inherited the step and needs it added here instead. Fixed by adding the same `Setup Node.js` / `actions/setup-node` (pinned to the same SHA already used everywhere else on this branch) / `node-version-file: '.nvmrc'` step already used by every other job in this branch's workflows, placed before the `compressed-size-action` step so its own internal `npm ci` runs under this branch's real Node.js version instead of the runner's floating default.
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
September 28, 2026 17:22
9c5630f to
54564bb
Compare
desrosj
changed the base branch from
wp/5.5
to
fix-actions-5.5/docker-compose-v2
September 28, 2026 17:23
desrosj
added this pull request to stack #558
September 28, 2026 17:23
desrosj
removed this pull request from stack #558
October 6, 2026 16:14
desrosj
added this pull request to stack #632
October 6, 2026 16:15
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
October 8, 2026 18:08
54564bb to
a0b4733
Compare
desrosj
added a commit
that referenced
this pull request
Oct 8, 2026
`bundle-size.yml`'s `Check` job never had a Node.js version pin of any kind (confirmed against the real upstream `wp/5.5` history -- this gap predates this project's stack entirely, unlike every other workflow file on this branch, which the `single-node-version-testing` layer (#166) already pinned via `actions/setup-node`'s `node-version-file: '.nvmrc'`). `preactjs/compressed-size-action` runs its own internal `npm ci` for both the PR's head and base commits, using whatever Node.js version the runner defaults to when no `actions/setup-node` step precedes it. On the current `ubuntu-24.04` runner image that default has drifted to Node.js 22.x, which is incompatible with several of this era's git-dependency `prepare` scripts -- confirmed via a real CI run on PR #338 (https://github.com/desrosj/gutenberg/actions/runs/34736948068/job/103669957891): `react-native-svg@9.13.6-gb`'s `bob build` (via `flowgen`/Babel) throws `SyntaxError: ... Missing initializer in const declaration` parsing a type-only `export const` in `src/index.d.ts`, a construct npm's bundled tooling under Node 22 chokes on but which is a non-issue under this branch's own pinned Node.js version. Every other job on this same PR (`JavaScript`, `PHP`, `Admin - 1..4`), which already set up Node via `.nvmrc` before running `npm ci`, gets past this dependency without incident. Later branches in this project (e.g. `wp/6.4`, `wp/6.5`) don't have this gap because their real upstream history had already added an equivalent `actions/setup-node` step to `bundle-size.yml` by the time those branches were cut -- confirmed directly against `WordPress/gutenberg`'s real `wp/6.4` branch. `wp/5.5` predates that upstream change, so it never inherited the step and needs it added here instead. Fixed by adding the same `Setup Node.js` / `actions/setup-node` (pinned to the same SHA already used everywhere else on this branch) / `node-version-file: '.nvmrc'` step already used by every other job in this branch's workflows, placed before the `compressed-size-action` step so its own internal `npm ci` runs under this branch's real Node.js version instead of the runner's floating default.
desrosj
removed this pull request from stack #632
October 8, 2026 18:10
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
October 8, 2026 18:11
a0b4733 to
4058b16
Compare
desrosj
changed the base branch from
fix-actions-5.5/docker-compose-v2
to
fix-actions-5.5/fix-puppeteer-alias-lockfile-drift
October 8, 2026 18:11
desrosj
added this pull request to stack #692
October 8, 2026 18:11
desrosj
removed this pull request from stack #692
October 9, 2026 19:59
desrosj
changed the base branch from
fix-actions-5.5/fix-puppeteer-alias-lockfile-drift
to
wp/5.5
October 9, 2026 20:00
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
October 9, 2026 20:01
4058b16 to
b0657f5
Compare
desrosj
changed the base branch from
wp/5.5
to
fix-actions-5.5/fix-puppeteer-alias-lockfile-drift
October 9, 2026 20:02
desrosj
added this pull request to stack #723
October 9, 2026 20:02
desrosj
marked this pull request as ready for review
October 16, 2026 17:13
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
desrosj
removed this pull request from stack #723
October 16, 2026 17:36
desrosj
added this pull request to stack #739
October 16, 2026 17:36
`unit-test.yml`'s `unit-php` job has always run a single, versionless
PHPUnit leg: whatever PHP the bare, floating `wordpress`/`wordpress:cli`
Docker images resolve to. This adds `strategy.matrix.php: ['5.6', '7.0',
'7.4']` plus a `multisite` axis (splitting the previously-sequential
`npm run test-php && npm run test-unit-php-multisite` into two isolated
legs, matching how the job already ran both, just no longer forcing a
single-site failure to cancel the multisite run in the same job), with
`fail-fast: false` so a failure on one PHP version's leg doesn't cancel
the runs still verifying the others.
This branch's `@wordpress/env` (v1.6.0) predates the `WP_ENV_PHP_VERSION`
mechanism used to select a PHP version on later branches -- it does not
exist anywhere in `packages/env`'s source, and the `wordpress`/
`wordpress:cli`/`tests-wordpress`/`tests-cli` Docker images in
`build-docker-compose-config.js` are hardcoded, unversioned image
references with no PHP-version templating at all. Setting that variable
here would have had no effect. The one part of this branch's Docker
Compose config that genuinely is PHP-version-selectable is the standalone
`phpunit` service, whose image is
`wordpressdevelop/phpunit:${LOCAL_PHP-latest}` -- a raw docker-compose
environment-variable substitution, not a wp-env config option. Both
`test-php` and `test-unit-php-multisite` execute PHPUnit via `wp-env run
phpunit`, which shells out to `docker compose run` with no explicit `env`
override, so it inherits `LOCAL_PHP` from the job environment. Setting
`LOCAL_PHP: ${{ matrix.php }}-fpm` per leg is what actually pins the PHP
version PHPUnit itself runs under.
`Install WordPress`'s `wp core install`/plugin-activation steps still run
via the `wordpress`/`cli` containers, which stay on Docker Hub's floating
default PHP regardless of this matrix -- that is unaffected by, and
unrelated to, the PHP version PHPUnit itself executes under.
No incompatible dev dependency needed removing for the lower PHP
versions: `spatie/phpunit-watcher` (the package other branches needed to
conditionally drop below PHP 7.2) does not exist in this branch's
`composer.json` at all.
desrosj
force-pushed
the
fix-actions-5.5/update-php-test-matrix
branch
from
October 16, 2026 17:46
b0657f5 to
2f7cf10
Compare
desrosj
added a commit
that referenced
this pull request
Oct 16, 2026
`bundle-size.yml`'s `Check` job never had a Node.js version pin of any kind (confirmed against the real upstream `wp/5.5` history -- this gap predates this project's stack entirely, unlike every other workflow file on this branch, which the `single-node-version-testing` layer (#166) already pinned via `actions/setup-node`'s `node-version-file: '.nvmrc'`). `preactjs/compressed-size-action` runs its own internal `npm ci` for both the PR's head and base commits, using whatever Node.js version the runner defaults to when no `actions/setup-node` step precedes it. On the current `ubuntu-24.04` runner image that default has drifted to Node.js 22.x, which is incompatible with several of this era's git-dependency `prepare` scripts -- confirmed via a real CI run on PR #338 (https://github.com/desrosj/gutenberg/actions/runs/34736948068/job/103669957891): `react-native-svg@9.13.6-gb`'s `bob build` (via `flowgen`/Babel) throws `SyntaxError: ... Missing initializer in const declaration` parsing a type-only `export const` in `src/index.d.ts`, a construct npm's bundled tooling under Node 22 chokes on but which is a non-issue under this branch's own pinned Node.js version. Every other job on this same PR (`JavaScript`, `PHP`, `Admin - 1..4`), which already set up Node via `.nvmrc` before running `npm ci`, gets past this dependency without incident. Later branches in this project (e.g. `wp/6.4`, `wp/6.5`) don't have this gap because their real upstream history had already added an equivalent `actions/setup-node` step to `bundle-size.yml` by the time those branches were cut -- confirmed directly against `WordPress/gutenberg`'s real `wp/6.4` branch. `wp/5.5` predates that upstream change, so it never inherited the step and needs it added here instead. Fixed by adding the same `Setup Node.js` / `actions/setup-node` (pinned to the same SHA already used everywhere else on this branch) / `node-version-file: '.nvmrc'` step already used by every other job in this branch's workflows, placed before the `compressed-size-action` step so its own internal `npm ci` runs under this branch's real Node.js version instead of the runner's floating default.
Owner
Author
|
Moved to WordPress#85002. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What?
Runs the PHPUnit job in
unit-test.ymlacross a PHP version matrix:5.6,7.0and7.4, each as a single site and a multisite leg.LOCAL_PHPis set to<version>-fpmfrom the matrix, sowp-env'sphpunitcontainer uses thewordpressdevelop/phpunit:<version>-fpmimage.npm run test-php && npm run test-unit-php-multisitestep is split into a single site step and a multisite step, each running in its own leg.Why?
The job ran PHPUnit once, in the
wordpressdevelop/phpunit:latestimage, so it never tested the PHP versions WordPress 5.5 supports. The matrix tests the lowest and highest supported minor version of each major PHP version WordPress 5.5 supports:5.6for PHP 5, and7.0and7.4for PHP 7. WordPress 5.5 doesn't support PHP 8.How?
This branch's
@wordpress/env(1.6.0) has noWP_ENV_PHP_VERSIONsupport, and itswordpressandwordpress:cliimages aren't versioned. Itsphpunitservice image iswordpressdevelop/phpunit:${LOCAL_PHP-latest}, andwp-env runpasses the job's environment through todocker compose, soLOCAL_PHPselects the PHP version PHPUnit runs on. The WordPress containers still run on the floatingwordpressimages' PHP version.test-phprunslint-phpbefore the tests, so linting runs once per PHP version, on the single site leg. #517 moves PHP coding standards checks into their own job.Use of AI Tools
This PR was created by Claude Code under my supervision. All code should be treated as AI-produced and not yet reviewed by a human until this PR is marked Ready for Review.