Skip to content

Build/test tools: forward multisite settings in the fork test matrix to improve CI efficiency#12693

Open
lancewillett wants to merge 1 commit into
WordPress:trunkfrom
lancewillett:fix/fork-matrix-multisite-config
Open

Build/test tools: forward multisite settings in the fork test matrix to improve CI efficiency#12693
lancewillett wants to merge 1 commit into
WordPress:trunkfrom
lancewillett:fix/fork-matrix-multisite-config

Conversation

@lancewillett

@lancewillett lancewillett commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Trac ticket

https://core.trac.wordpress.org/ticket/65712

What

The limited-matrix-for-forks job in phpunit-tests.yml declares multisite include rows but never forwards multisite or phpunit-config to the reusable workflow. Those rows fall back to single-site defaults, so each one duplicates an existing single-site job instead of exercising multisite.

This forwards both inputs so the multisite rows select tests/phpunit/multisite.xml, matching the test-with-mysql, test-with-mariadb, and innovation-release callers.

Why

The fork matrix currently spends jobs on duplicate single-site runs and skips the multisite coverage it intends to provide. The fix restores that coverage without adding or removing any jobs.

Expected impact

Scope: the limited-matrix-for-forks job only. It runs on personal forks outside the WordPress/ organization, so the canonical matrices are untouched.

  • Job count: 8 before, 8 after. No change to runner load or CI minutes.
  • Redundant jobs: 2 before, 0 after. Two include rows duplicated existing single-site jobs; they now run multisite.
  • Multisite jobs: 0 effective before, 3 after. The three multisite: true rows now load tests/phpunit/multisite.xml.
  • Distinct test configurations: 6 before, 8 after.

A healthy run shows three jobs configured with tests/phpunit/multisite.xml and no increase in total job count.

Definition of done

A reviewer can validate and verify the change as follows:

  • The diff forwards multisite and phpunit-config in limited-matrix-for-forks only, matching the test-with-mysql caller.
  • actionlint passes on phpunit-tests.yml.
  • On a fork run, the three multisite jobs show tests/phpunit/multisite.xml as the PHPUnit config; the single-site jobs still show phpunit.xml.dist.
  • The two formerly-duplicate jobs now differ from their single-site counterparts at the same PHP and database version.
  • No change to test-with-mysql, test-with-mariadb, or test-innovation-releases.

Testing

  • actionlint passes on the changed workflow.
  • The three affected include rows resolve to tests/phpunit/multisite.xml; single-site rows are unchanged.
  • This matrix runs only on personal forks outside the WordPress/ organization, so it does not affect the canonical CI.

The `limited-matrix-for-forks` job declares multisite include rows but does not
forward `multisite` or `phpunit-config` to the reusable workflow. Those rows
therefore run single-site and duplicate existing single-site coverage instead of
exercising multisite.

Forward both inputs so the multisite rows select `tests/phpunit/multisite.xml`,
matching the `test-with-mysql`, `test-with-mariadb`, and innovation-release
callers.
Copilot AI review requested due to automatic review settings July 25, 2026 18:01
@github-actions

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 lancewillett.

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

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 PR fixes the fork-only PHPUnit workflow matrix so that multisite matrix rows actually run as multisite when calling the reusable PHPUnit workflow, restoring the intended coverage without increasing job count.

Changes:

  • Forward multisite from the limited-matrix-for-forks job matrix into the reusable workflow inputs.
  • Forward phpunit-config, selecting tests/phpunit/multisite.xml when multisite is enabled (otherwise phpunit.xml.dist), aligning behavior with other PHPUnit workflow callers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lancewillett lancewillett changed the title Build/test Tools: Forward multisite settings in the fork test matrix to improve CI efficiency Build/test tools: Forward multisite settings in the fork test matrix to improve CI efficiency Jul 25, 2026
@lancewillett lancewillett changed the title Build/test tools: Forward multisite settings in the fork test matrix to improve CI efficiency Build/test tools: forward multisite settings in the fork test matrix to improve CI efficiency Jul 25, 2026
@lancewillett

Copy link
Copy Markdown
Contributor Author

For reviewers: this PR changes the limited-matrix-for-forks job which by design runs only on personal forks (its if excludes the WordPress/ org), so this PR's own CI doesn't exercise it.

It forwards multisite and phpunit-config to the reusable workflow, matching the test-with-mysql and test-with-mariadb callers. The 3 multisite: true include rows now load tests/phpunit/multisite.xml instead of falling back to single-site, restoring multisite coverage without adding or removing jobs.

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.

2 participants