Skip to content

Add PHP 8.6 to PHPUnit test matrix - #13106

Open
desrosj wants to merge 6 commits into
WordPress:trunkfrom
desrosj:add/php-8.6-testing
Open

Add PHP 8.6 to PHPUnit test matrix#13106
desrosj wants to merge 6 commits into
WordPress:trunkfrom
desrosj:add/php-8.6-testing

Conversation

@desrosj

@desrosj desrosj commented Aug 17, 2026

Copy link
Copy Markdown
Member

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.

@desrosj
desrosj marked this pull request as ready for review August 17, 2026 21:31
@desrosj
desrosj requested review from johnbillion and lancewillett and removed request for lancewillett August 17, 2026 21:31
@github-actions

github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown

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 props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props desrosj, lancewillett, jorbin.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@desrosj desrosj moved this from In progress to In review in WordPress Project Build Tooling Aug 17, 2026
@desrosj
desrosj requested review from lancewillett and a lite review from Copilot August 17, 2026 22:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-error in 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.

Comment thread .github/workflows/reusable-phpunit-tests-v3.yml Outdated
Comment thread .github/workflows/phpunit-tests.yml
@desrosj
desrosj requested a review from aaronjorbin August 18, 2026 19:46
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"]') }}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 lancewillett left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@aaronjorbin

Copy link
Copy Markdown
Member

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

4 participants