Add PHP 8.6 to PHPUnit test matrix - #13106
Conversation
|
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 Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
There was a problem hiding this comment.
Pull request overview
This pull request updates the WordPress Core GitHub Actions PHPUnit CI configuration to start running an additional job for PHP 8.6 (pre-release), while ensuring failures on that version do not fail the overall workflow.
Changes:
- Add PHP 8.6 to multiple PHPUnit workflow matrices (including scheduled and non-scheduled runs).
- Mark PHP 8.6 runs as allowed-to-fail via job-level
continue-on-errorin the reusable PHPUnit workflow.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/reusable-phpunit-tests-v3.yml |
Allows PHP 8.6 jobs to be non-blocking by setting job-level continue-on-error based on the PHP version input. |
.github/workflows/phpunit-tests.yml |
Expands the PHPUnit test matrices to include PHP 8.6 across MySQL, MariaDB, innovation-release, and HTML API test group jobs. |
Suppressed comments (2)
.github/workflows/phpunit-tests.yml:193
- The comment above this matrix no longer matches the version lists: it mentions testing “every supported PHP version” on schedule and only “highest and lowest of each major” on other events, but the matrix now includes experimental PHP 8.6 and keeps both 8.5 and 8.6 on non-scheduled runs. Adjust the comment or the lists to reflect the intended coverage.
# The scheduled run tests every supported PHP version. Other events test the highest and lowest of each major.
php: ${{ github.event_name == 'schedule' && fromJSON('["7.4","8.0","8.1","8.2","8.3","8.4","8.5","8.6"]') || fromJSON('["7.4","8.0","8.5","8.6"]') }}
.github/workflows/phpunit-tests.yml:260
- This matrix uses the same “supported PHP versions / highest+lowest of each major” comment as the other jobs, but it now includes PHP 8.6 (pre-release) and includes both 8.5 and 8.6 on non-scheduled events. Please align the comment and/or the selected versions so readers understand why 8.6 is included here.
# The scheduled run tests every supported PHP version. Other events test the highest and lowest of each major.
php: ${{ github.event_name == 'schedule' && fromJSON('["7.4","8.0","8.1","8.2","8.3","8.4","8.5","8.6"]') || fromJSON('["7.4","8.0","8.5","8.6"]') }}
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| os: [ ubuntu-24.04 ] | ||
| # The scheduled run tests every supported PHP version. Other events test the highest and lowest of each major. | ||
| php: ${{ github.event_name == 'schedule' && fromJSON('["7.4","8.0","8.1","8.2","8.3","8.4","8.5"]') || fromJSON('["7.4","8.0","8.5"]') }} | ||
| php: ${{ github.event_name == 'schedule' && fromJSON('["7.4","8.0","8.1","8.2","8.3","8.4","8.5","8.6"]') || fromJSON('["7.4","8.0","8.5","8.6"]') }} |
There was a problem hiding this comment.
This puts PHP 8.6 into every MySQL combination. Together with the MariaDB, innovation, and HTML API edits below, that adds 25 pre-release jobs to every upstream PR. Ticket #65904 says to use one database for now. Could we add one representative PHP 8.6 job—such as MySQL 8.4 single-site—with allow-errors, instead?
Adversarial review · gpt-5.6-sol
lancewillett
left a comment
There was a problem hiding this comment.
One CI-cost blocker inline: the current matrix expansion adds substantially broader PHP 8.6 coverage than ticket #65904 specifies.
Adversarial review · gpt-5.6-sol
|
I'm not sure that we need to be testing with every DB provider for the time being. What would you think of excluding some of the combinations from the matrix? |
PHP 8.6 is due out at the end of 2026. Beta 1 was released on August 13th.
This adds a PHP 8.6 job to the PHPUnit testing matrix, but configures jobs using that version to be allowed to fail.
Trac ticket: Core-65904.
Use of AI Tools
None
This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.