Skip to content

Repair wp/5.5 branch Actions: Run PHP coding standards on the runner instead of inside wp-env - #85003

Open
desrosj wants to merge 1 commit into
fix-actions-5.5/update-php-test-matrixfrom
fix-actions-5.5/run-phpcs-on-runner
Open

desrosj wants to merge 1 commit into
fix-actions-5.5/update-php-test-matrixfrom
fix-actions-5.5/run-phpcs-on-runner

Conversation

@desrosj

@desrosj desrosj commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Part of #82938.

What?

Moves PHP coding standards checks (phpcs) out of wp-env into a new phpcs job in unit-test.yml. The job runs on the runner at PHP 7.4 and reports violations as annotations with cs2pr. It passes --runtime-set ignore_warnings_on_exit 1, as this branch's composer run-script lint does. The .cache/.gitkeep, .gitignore and phpcs.xml.dist changes add the PHPCS scan cache. It also sets timeout-minutes: 20 on the new phpcs job, like the other jobs got in #84991.

npm run test-php no longer runs lint-php first. The PHPUnit job gets an Install Composer dependencies step (npm run wp-env run composer 'install --no-interaction') after Install WordPress.

Why?

Coding standards checks don't depend on the PHP version being tested. Inside wp-env they only ran after the environment started, they repeated on every leg of the PHP matrix added in #85002, and violations showed up as container logs instead of annotations on the diff.

lint-php's prelint-php hook was the only thing that installed Composer dependencies for PHPUnit, and phpunit/bootstrap.php requires vendor/autoload.php. The new step keeps that install, and runs on the multisite legs too, which never had one.

The job uses PHP 7.4 because the PHP_CodeSniffer and WPCS releases this branch depends on emit deprecation notices on PHP 8.4 and newer that abort the scan.

How?

Ports the phpcs job from #46510 (9ee17a7).

Both Composer installs fail until #85004, directly above, adds config.allow-plugins. With #85004 applied, phpcs passes.

Use of AI Tools

This PR was created by Claude Code under my supervision. All code should be treated as AI-produced and not yet reviewed by a human until this PR is marked Ready for Review.

🤖 Generated with Claude Code

@desrosj desrosj added the [Type] Build Tooling Issues or PRs related to build tooling label Oct 16, 2026
@desrosj desrosj self-assigned this Oct 16, 2026
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 14e54b4f-fde7-44e7-9222-3f407476db28

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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

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

@ntsekouras ntsekouras left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, thanks! Left a non-blocking comment here.


- name: Show PHPCS results in PR
if: ${{ always() && steps.phpcs-gutenberg.outcome == 'failure' }}
run: cs2pr ./.cache/phpcs-report.xml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Small thing: the other branches keep the git diff --exit-code step at the end of the phpcs job, was dropping it here intentional?

This branch has not been deployed

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

Labels

[Type] Build Tooling Issues or PRs related to build tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants