Skip to content

Build/Test Tools: Limit PHPUnit for Core asset-only PRs - #13523

Open
lancewillett wants to merge 1 commit into
WordPress:trunkfrom
lancewillett:ci/65889-core-assets-only
Open

lancewillett wants to merge 1 commit into
WordPress:trunkfrom
lancewillett:ci/65889-core-assets-only

Conversation

@lancewillett

@lancewillett lancewillett commented Sep 14, 2026

Copy link
Copy Markdown
Member

Depends on #13522, which adds the assets PHPUnit group. Land that prerequisite before this PR.

Core CSS/JS-only pull requests currently start the normal PHPUnit matrix. Select one PHP 8.3/MySQL 8.4 job running --group assets when every changed path belongs to the audited Core asset directories.

A shallow checkout compares the pull request's tested merge result with its base parent. NUL-delimited paths and disabled rename detection keep unusual filenames and cross-directory renames conservative. Empty diffs, failed detection, and any path outside the allowed set retain the normal matrix.

The allowed paths cover CSS/JS under src/js/, Core admin CSS/JS, Core includes CSS/JS, and the generated admin pages in src/wp-includes/build/. Theme metadata, test fixtures, build tooling, and mixed changes retain normal coverage. Existing documentation-only workflow exclusions remain in place.

The Full PHPUnit Matrix label bypasses reduced coverage. Pushes, manual runs, and weekly runs keep their existing matrix selection. The existing reusable PHPUnit workflow supplies the asset build and group execution.

Trac ticket: https://core.trac.wordpress.org/ticket/65889

Validation

  • 24 standalone routing cases passed against the exact inline Bash script: audited assets; individual PHP, JSON, theme, tooling, fixture, and documentation boundaries; unusual filenames; empty or failed diffs; and changes exceeding 300 files.
  • Two real depth-2 Git merge checks passed: an audited nested asset selects reduced coverage, and a cross-boundary rename retains normal coverage.
  • Actionlint 1.7.11 passed.
  • Zizmor 1.24.1 reported no findings.
  • Four additional path checks confirmed that the embed template CSS/JS, wp-embed.js, and view-transitions.css select reduced coverage.
  • The expanded prerequisite group passes 33 tests / 301 assertions in both single site and multisite. Its normal, truncated-asset, and missing-file validation is recorded in Tests: Group tests that depend on Core assets #13522.

These checks validate the classifier and Git behavior locally. GitHub job routing for an asset-only PR still needs verification after #13522 lands; this workflow-only PR itself selects normal coverage.

Use of AI tools

AI assistance: Yes.
Tool: Codex.
Model: GPT-6.
Used for: Workflow implementation, review, and local validation.

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

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.

1 participant