wordpress/phpcompat.xml.dist
Jonathan Desrosiers b133be83c8 Build/Test Tools: Make use of new reusable workflows for 5.5.
This updates the 5.5 branch to utilize the new reusable workflows in trunk introduced in [58165].

This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:

- The image and platform properties for the mysql container have been updated to always prefer `amd64` containers (#60822).
- `macos-13` is now pinned for MacOS jobs instead of `macos-latest` (#61340).
- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the `actions/github-scripts` action to the latest version.
- Cache the results of `PHP_CodeSniffer` runs (#49783).
- Move the Memcached container into the Docker Compose config (#55700).
- Improvements to the `healthcheck` command for the `mysql` container (#58867).
- A fix to `grunt clean` to prevent `script-loader-packages.php` from being deleted (#53606).
- Skip some tests when not in the primary branch (#50401).

Merges [49264], [51355], [51673], [52179], [53552], [53895], [56464], [57918], [58157], [57124], [57125], [57249] to the 5.5 branch.

Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #49783, #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213, #53606.

git-svn-id: https://develop.svn.wordpress.org/branches/5.5@58610 602fd350-edb4-49c9-b593-d223f7449a82
2024-07-01 18:48:38 +00:00

81 lines
3.4 KiB
XML

<?xml version="1.0"?>
<ruleset name="WordPress PHP Compatibility">
<description>Apply PHP compatibility checks to all WordPress Core files</description>
<rule ref="PHPCompatibilityWP"/>
<!-- WordPress Core currently supports PHP 5.6+. -->
<config name="testVersion" value="5.6-"/>
<!-- Only scan PHP files. -->
<arg name="extensions" value="php"/>
<!-- Whenever possible, cache the scan results and re-use those for unchanged files on the next scan. -->
<arg name="cache" value=".cache/phpcompat.json"/>
<!-- Set the memory limit to 256M.
For most standard PHP configurations, this means the memory limit will temporarily be raised.
Ref: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#specifying-phpini-settings
-->
<ini name="memory_limit" value="256M"/>
<!-- Strip the filepaths down to the relevant bit. -->
<arg name="basepath" value="./"/>
<!-- Check up to 20 files simultaneously. -->
<arg name="parallel" value="20"/>
<!-- Show sniff codes in all reports. -->
<arg value="ps"/>
<!-- For now, only the files in src are scanned. -->
<file>./src/</file>
<!-- Code which doesn't go into production may have different requirements. -->
<exclude-pattern>/node_modules/*</exclude-pattern>
<!--
Currently, there are no dependencies managed by Composer.
This will need to be modified when that changes to ensure external packages meet compatibility requirements.
-->
<exclude-pattern>/vendor/*</exclude-pattern>
<!--
PHPCompatibilityParagonieSodiumCompat prevents false positives in `sodium_compat`.
However, because these files are included in a non-standard path, false positives are triggered in WordPress Core.
-->
<exclude-pattern>src/wp-includes/sodium_compat/lib/php72compat_const\.php$</exclude-pattern>
<rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_crypto_sign_keypair_from_secretkey_and_publickeyFound">
<exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_padFound">
<exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_unpadFound">
<exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
</rule>
<!--
PHPCompatibilityParagonieRandomCompat prevents false positives in `random_compat`.
However, because these files are included in a non-standard path, false positives are triggered in WordPress Core.
-->
<rule ref="PHPCompatibility.IniDirectives.RemovedIniDirectives.mbstring_func_overloadDeprecated">
<exclude-pattern>/random_compat/byte_safe_strings\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.Constants.RemovedConstants.mcrypt_dev_urandomDeprecatedRemoved">
<exclude-pattern>/random_compat/random_bytes_mcrypt\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.Extensions.RemovedExtensions.mcryptDeprecatedRemoved">
<exclude-pattern>/random_compat/random_bytes_mcrypt\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_create_ivDeprecatedRemoved">
<exclude-pattern>/random_compat/random_bytes_mcrypt\.php$</exclude-pattern>
</rule>
<!-- Whitelist the WP DB Class for use of `mysql_` extension in PHP < 7.0. -->
<rule ref="PHPCompatibility.Extensions.RemovedExtensions.mysql_DeprecatedRemoved">
<exclude-pattern>/src/wp-includes/wp-db\.php</exclude-pattern>
</rule>
</ruleset>