Opened 22 hours ago
Last modified 13 hours ago
#65736 reopened task (blessed)
Trim the PHPUnit test matrix to boundary PHP versions, with full coverage on the weekly run
| Reported by: | lancewillett | Owned by: | lancewillett |
|---|---|---|---|
| Priority: | normal | Milestone: | 7.1 |
| Component: | Build/Test Tools | Version: | |
| Severity: | normal | Keywords: | has-patch |
| Cc: | Focuses: |
Description (last modified by )
#64083 trimmed the GitHub Actions workflows on older branches, reducing the PHPUnit matrix to the highest and lowest supported version of each major PHP branch. Its title noted "(and possibly trunk)". This completes that work: it applies the boundary trim to trunk and pull requests, and to the current release branch.
The matrix drops from seven PHP minors to three boundary versions (7.4, 8.0, 8.5) across the three test jobs. Version-specific failures cluster at the boundaries of each major, so the intermediate minors add job count without adding coverage. Base PHPUnit combinations drop from ~168 to ~72 per run.
To keep full coverage, the existing weekly scheduled run (Sundays, 00:00 UTC) tests every supported PHP version. Push and pull request events test the boundary versions. Scheduled runs fire from the default branch, so the weekly full sweep covers trunk.
The immediate benefit is at release time. When many backports land on the current release branch together, the full matrix floods the shared runner pool. Tests get cancelled, or the release ships before they finish.
A follow-up could trim the database axis on the same principle. That would be filed separately.
Change History (11)
This ticket was mentioned in PR #12719 on WordPress/wordpress-develop by @lancewillett.
22 hours ago
#1
#2
@
22 hours ago
- Description modified (diff)
- Summary Trim the active branch GitHub Actions test matrix to boundary PHP versions → Trim the PHPUnit test matrix to boundary PHP versions, with full coverage on the weekly run
Broadened the scope to cover trunk and pull requests, with the existing weekly scheduled run switched to the full matrix so coverage is preserved. The current release branch gets the same trim in a separate change.
This ticket was mentioned in PR #12720 on WordPress/wordpress-develop by @lancewillett.
22 hours ago
#3
## What
Trims the PHPUnit test matrix on the 7.0 branch to boundary PHP versions: 7.4, 8.0, and 8.5 in place of the full seven-minor list, across test-with-mysql, test-with-mariadb, and test-innovation-releases.
## Why
This applies to the 7.0 branch the same boundary trim #64083 used on older branches (Trac #65736 tracks extending it to the current branches). The immediate benefit is at release time. When many 7.0.x backports land together, the full matrix floods the shared runner pool. Tests get cancelled, or the release ships before they finish.
## Impact
Base PHPUnit combinations drop from ~168 to ~72 per run, roughly a 55% cut, before the unchanged include: jobs.
## Scope
PHP axis only. The 7.0 branch does not run the weekly scheduled full matrix. Scheduled workflows fire only from the default branch. So this is a plain trim, not the conditional used on trunk. Database versions, multisite, and memcached are untouched.
Trac ticket: Core-65736
## Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Model(s): Opus 4.8
Used for: Applying the boundary-trim approach from the existing older-branch precedent. Verified manually.
@lancewillett commented on PR #12719:
22 hours ago
#4
@johnbillion Agree on the tradeoff. If we could make all runs faster, maybe we can keep the full matrix.
Another idea is to allow a PR tag full-ci to kick off the full, ad-hoc.
Apologies, I made a mistake in the first commit. Can you re-review 2538d740ae65f9439c269a91244d75a470276fcd ? Adds the weekly back.
@johnbillion commented on PR #12720:
17 hours ago
#6
@lancewillett commented on PR #12720:
13 hours ago
#11
See also: https://github.com/WordPress/wordpress-develop/pull/12726
6.8 runs were still peaking at ~198, this takes that version's runs down to ~99.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
## What
Trims the PHPUnit test matrix on the active branch to boundary PHP versions: the highest and lowest supported version of each major.
7.4,8.0, and8.5replace the full seven-minor list, intest-with-mysql,test-with-mariadb, andtest-innovation-releases.## Why
This mirrors the trim #64083 applied to older branches, whose title named "(and possibly
trunk)". Version-specific failures cluster at the boundaries of each major, so the intermediate minors add job count without adding coverage. At release time the full matrix floods the shared runner pool, forcing tests to be cancelled or the release to ship early.## Impact
Base PHPUnit combinations drop from ~168 to ~72, roughly a 55% cut, before the unchanged
include:jobs.## Scope
PHP axis only. Database versions, multisite, memcached, and the single-representative
include:jobs are untouched. Highest 8.x is8.5; happy to use8.4if reviewers prefer current-stable. A database-axis trim on the same principle is a possible follow-up, filed separately.Trac ticket: Core-65736
## Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Model(s): Opus 4.8
Used for: Identifying the boundary-trim approach from the existing older-branch precedent, drafting the matrix change and ticket text. Verified manually.