Skip to content

Add PHP 8.5 to the matrix - #4

Merged
sean-e-dietrich merged 1 commit into
mainfrom
php-85
Sep 28, 2026
Merged

sean-e-dietrich merged 1 commit into
mainfrom
php-85

Conversation

@sean-e-dietrich

Copy link
Copy Markdown
Contributor

The PHP 8.5 change missed the train. #3 was merged into cli-command-coverage at 05:01 and I pushed this commit to the circleci branch afterwards, so the squash-merge of #2 carried the CircleCI migration to main without it. main today runs nine jobs and tops out at PHP 8.4.

This is that commit, cherry-picked onto main. Nothing about it changed.

kanopi/firewall has supported 8.1 through 8.5 since 2.31.0 and the plugin was testing a subset of it. 8.5 joins the unit matrix and gets a full integration job paired with the existing nightly row rather than replacing it — the two differ only in PHP, so a failure on 8.5 that passes on 8.4 says "PHP 8.5" and not "WordPress trunk moved".

Verified in the images CI uses, before it was written:

Job Image Result
unit cimg/php:8.5 55 tests, JUnit written — green
integration cimg/php:8.5 122 + 6 e2e + 25 WP-CLI, against WP nightly — green

Two deprecations surface on 8.5 and neither is ours: react/promise and php-cli-tools, both inside WP-CLI's own phar. Nothing from the plugin, and the unit suite — which unlike the integration suite runs with failOnWarning — is clean.

static stays on 8.1 and package on 8.3. Neither is about breadth: static runs on the floor because that is where check-platform-reqs means something, and package runs on 8.3 because that is PHP-Scoper's floor.

Required status checks gain two names: unit-php-8.5 and integration-wpnightly-php8.5.

  • Was AI used in this pull request?

kanopi/firewall has supported 8.1 to 8.5 since 2.31.0, and the plugin
was testing a subset of that. Unit runs on 8.5 now, and so does a full
integration job.

The integration row is paired with the existing nightly one rather than
replacing it. The two differ only in PHP, so a failure on 8.5 that passes
on 8.4 says "PHP 8.5" and not "WordPress trunk moved" -- and integration
is where every defect this plugin has shipped so far has lived, which is
why the newest PHP gets a run of it rather than unit coverage alone.

Verified before adding, in the images CI uses:

  unit         cimg/php:8.5   55 tests, junit written    green
  integration  cimg/php:8.5   122 + 6 e2e + 25 wp-cli,
                              against WordPress nightly  green

Two deprecations show up on 8.5 and neither is ours: `react/promise` and
`php-cli-tools`, both inside WP-CLI's own phar. Nothing from the plugin,
and the unit suite -- which unlike the integration suite runs with
failOnWarning -- is clean.

`static` stays on 8.1 and `package` on 8.3. Neither is about breadth:
static runs on the floor because that is where check-platform-reqs means
something, and package runs on 8.3 because that is PHP-Scoper's floor.
@sean-e-dietrich
sean-e-dietrich merged commit cc847be into main Sep 28, 2026
12 checks passed
@sean-e-dietrich
sean-e-dietrich deleted the php-85 branch September 28, 2026 05:29
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.

1 participant