Skip to content

Add multi-PHP, environment labels, and commit tracking. - #333

Open
dilipom13 wants to merge 3 commits into
WordPress:masterfrom
dilipom13:fix/212-multi-php-env-commits
Open

Add multi-PHP, environment labels, and commit tracking.#333
dilipom13 wants to merge 3 commits into
WordPress:masterfrom
dilipom13:fix/212-multi-php-env-commits

Conversation

@dilipom13

@dilipom13 dilipom13 commented Aug 13, 2026

Copy link
Copy Markdown

Rebase PR #212 onto current master while keeping setup_runner_env_vars, and apply the requested review feedback for directory names, executable parsing, and commits.json.

Rebase PR 212 onto current master while keeping setup_runner_env_vars, and apply the requested review feedback for directory names, executable parsing, and commits.json.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

github-actions Bot commented Aug 13, 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.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: dilipom13 <dilip2615@git.wordpress.org>
Co-authored-by: jazzsequence <jazzs3quence@git.wordpress.org>
Co-authored-by: chrisdavidmiles <chrisdavidmiles@git.wordpress.org>
Co-authored-by: kittenkamala <amykamala@git.wordpress.org>
Co-authored-by: desrosj <desrosj@git.wordpress.org>

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

@kittenkamala

Copy link
Copy Markdown
Contributor

@desrosj and @jazzsequence will you guys please take a look at this? TY!

@desrosj

desrosj commented Aug 16, 2026

Copy link
Copy Markdown
Member

One of my original issues with #212 was that it contained a lot that was unrelated to adding support for multiple versions of PHP, or having a commit queue. I had created #256 and extracted all the documentation changes. It was a bit stale, so I've gone and fixed all the conflicts.

I think it makes the most sense to review and merge that first. And then considering this PR.

jazzsequence added a commit to pantheon-systems/wporg-phpunit-test-runner that referenced this pull request Aug 16, 2026
Ports the WPT_LABEL feature from upstream PR WordPress#333
(dilipom13:fix/212-multi-php-env-commits) into the Pantheon fork so each
PHP/MariaDB matrix combination reports distinctly to WordPress.org instead
of colliding under a single reporting account.

- functions.php: parse WPT_LABEL into runner config; add label to
  get_env_details() for upstream parity
- prepare.php: inject the label into the env.json generator written on the
  Pantheon container
- report.php: surface the label in the GHA step summary
- tests.yml: set WPT_LABEL=pantheon-php{XY}-db{ZZ} per matrix combination
- .env.default: document WPT_LABEL (docs only; CI sets it via the workflow)

The upstream multi-PHP-executable mechanism is intentionally not ported:
Pantheon pins one PHP version per environment, so multi-version testing is
handled by the multidev matrix (php{XY}-db{ZZ}) instead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jazzsequence jazzsequence moved this from Backlog to In review in Hosting Team WCUS 2026 Aug 16, 2026
@chrisdavidmiles

Copy link
Copy Markdown

Tested this on a real Bluehost shared host (cPanel, our "Rock" server image) and it works.

I ran the full prepare → test → report cycle through the new multi-PHP path (WPT_PHP_EXECUTABLE="8.2=...;8.3=...;8.4=...") as a single run-in-place invocation, no reporting key. All three environments prepared and the suite passed on each:

PHP Tests Assertions Failures Errors Skipped
8.2 30,872 4,559,588 0 0 35
8.3 30,872 4,559,580 0 0 29
8.4 30,872 4,559,580 0 0 29

The multi-PHP handling did what it should: three separate prepare/test/report passes, each with its own versioned prepare/test directory and its own DB table prefix, so the runs stay isolated within one invocation. Commit selection and commits.json tracking worked too. Good to see this exercised on a real host stack and outside the MySQL-8.0-only CI.

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

Approving — I tested the multi-PHP flow end-to-end on a Bluehost server (cPanel / "Rock" image), PHP 8.2 / 8.3 / 8.4, and it all passed cleanly. Full run details in my comment.

Resolve conflicts with documentation updates from WordPress#256 while keeping multi-PHP, environment labels, and commit tracking.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

5 participants