Skip to content

Require WP-CLI v2.13#76

Merged
swissspidy merged 2 commits intomainfrom
chore/bump
Mar 25, 2026
Merged

Require WP-CLI v2.13#76
swissspidy merged 2 commits intomainfrom
chore/bump

Conversation

@swissspidy
Copy link
Member

No description provided.

@swissspidy swissspidy added this to the 2.0.17 milestone Mar 25, 2026
@swissspidy swissspidy requested a review from a team as a code owner March 25, 2026 09:40
Copilot AI review requested due to automatic review settings March 25, 2026 09:40
@github-actions
Copy link
Contributor

Hello! 👋

Thanks for opening this pull request! Please check out our contributing guidelines. We appreciate you taking the initiative to contribute to this project.

Contributing isn't limited to just code. We encourage you to contribute in the way that best fits your abilities, by writing tutorials, giving a demo at your local meetup, helping other users with their support questions, or revising our documentation.

Here are some useful Composer commands to get you started:

  • composer install: Install dependencies.
  • composer test: Run the full test suite.
  • composer phpcs: Check for code style violations.
  • composer phpcbf: Automatically fix code style violations.
  • composer phpunit: Run unit tests.
  • composer behat: Run behavior-driven tests.

To run a single Behat test, you can use the following command:

# Run all tests in a single file
composer behat features/some-feature.feature

# Run only a specific scenario (where 123 is the line number of the "Scenario:" title)
composer behat features/some-feature.feature:123

You can find a list of all available Behat steps in our handbook.

@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the project's dependency on WP-CLI to version 2.13, ensuring compatibility with the latest features and improvements. Concurrently, it refines the static analysis setup using PHPStan by including a new scan file and recognizing a critical global constant, which helps in catching potential issues earlier and maintaining code quality. These changes collectively enhance the development environment's robustness and accuracy.

Highlights

  • Dependency Update: The required wp-cli/wp-cli dependency has been updated to version ^2.13 in composer.json.
  • PHPStan Configuration Enhancements: PHPStan configuration has been improved by adding tests/phpstan/scan-files.php to the scanFiles list and ABSPATH to dynamicConstantNames in phpstan.neon.dist. A new file, tests/phpstan/scan-files.php, was added to define ABSPATH for static analysis.
  • CodeSniffer Exclusion: The tests/phpstan/scan-files directory has been excluded from PHP_CodeSniffer checks in phpcs.xml.dist.
  • PHPDoc Refinement: Unnecessary @throws \WP_CLI\ExitException tags were removed from the persistence_check method's PHPDoc in src/Capabilities_Command.php and src/Role_Command.php.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@swissspidy swissspidy merged commit fa6c268 into main Mar 25, 2026
65 checks passed
@swissspidy swissspidy deleted the chore/bump branch March 25, 2026 09:43
@codecov
Copy link

codecov bot commented Mar 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link

Copilot AI left a comment

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 updates the package to require WP-CLI v2.13 and adjusts static-analysis configuration to accommodate WordPress-specific globals/constants during PHPStan runs.

Changes:

  • Bump wp-cli/wp-cli dependency from ^2.12 to ^2.13.
  • Add a PHPStan scan file that defines ABSPATH, and update PHPStan config to recognize it.
  • Update code comments/config to align with the new tooling expectations.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
composer.json Raises the minimum required WP-CLI version to ^2.13.
phpstan.neon.dist Loads a scan file and configures handling for ABSPATH during analysis.
tests/phpstan/scan-files.php Defines ABSPATH for PHPStan’s reflection/analysis context.
phpcs.xml.dist Attempts to exclude the PHPStan scan file from PHPCS scanning.
src/Role_Command.php Removes @throws annotation from persistence_check() docblock.
src/Capabilities_Command.php Removes @throws annotation from persistence_check() docblock.

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

<exclude-pattern>*/src/(Role|Capabilities)_Command\.php$</exclude-pattern>
</rule>

<exclude-pattern>/tests/phpstan/scan-files</exclude-pattern>
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

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

phpcs.xml.dist exclude pattern likely won’t match tests/phpstan/scan-files.php because it starts with a leading / (paths are typically relative to the ruleset basepath) and doesn’t include the .php suffix. Update the pattern to match the actual file path (e.g., use a wildcard prefix like */ and include/anchor the .php extension) so PHPCS reliably excludes this bootstrap file.

Suggested change
<exclude-pattern>/tests/phpstan/scan-files</exclude-pattern>
<exclude-pattern>*/tests/phpstan/scan-files\.php$</exclude-pattern>

Copilot uses AI. Check for mistakes.
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the wp-cli/wp-cli dependency to ^2.13 and refines the PHPStan and PHPCS configurations. It adds tests/phpstan/scan-files.php to PHPStan's scanned files and defines ABSPATH as a dynamic constant. Additionally, unnecessary @throws tags are removed from docblocks in Capabilities_Command.php and Role_Command.php. A review comment points out that the newly added exclude-pattern in phpcs.xml.dist is incorrectly formatted and will not effectively exclude the intended files.

<exclude-pattern>*/src/(Role|Capabilities)_Command\.php$</exclude-pattern>
</rule>

<exclude-pattern>/tests/phpstan/scan-files</exclude-pattern>

Choose a reason for hiding this comment

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

medium

The regular expression for the exclude-pattern seems incorrect. With basepath set to ./, file paths are relative (e.g., tests/phpstan/scan-files.php). The leading slash in /tests/phpstan/scan-files will prevent it from matching this path.

To correctly exclude the new file, you should remove the leading slash and consider making the pattern more specific to avoid unintended matches, similar to other patterns in this file.

	<exclude-pattern>tests/phpstan/scan-files\.php$</exclude-pattern>

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants