WordPress/wp-includes
Sergey Biryukov 318fc1fcc9 Build/Test Tools: Switch to always running the tests via Composer.
Previously the tests were run via a PHPUnit Phar file for PHP 5.6–7.4, with PHP 8.0 using a Composer-installed version of PHPUnit.

Running the tests via a Phar without the need for a `composer install` is (marginally) faster in overall build time, however, this commit is part of a larger chain of changes which will make the test suite PHPUnit cross-version compatible.

With an eye on those upcoming changes, which will allow us to run the tests on the most appropriate PHPUnit version for each supported PHP version, it is opportune to switch to using a Composer-installed version of PHPUnit for all PHP versions supported by WordPress. Previously this was not possible without additional conditional `update` commands being run, due to the `composer.lock` file being in place and being locked at PHPUnit 7.5.20.

Switching over to using the Composer-installed PHPUnit version, with that PHPUnit version adjusting based on the PHP version, allows for some minor simplifications in the GitHub Actions script.

This means we need additional measures to make sure that the Composer cache file does not go too far out of date as that would significantly slow down the builds.

By adding a "Last Monday" date to the cache key, in combination with the pre-existing OS, PHP version and the hash of the `composer.json` file, we can guarantee that:
1. There will be a cache created for each OS/PHP combination.
2. These caches will be replaced whenever a change is made to the `composer.json` file.
3. These caches will be replaced every Monday of each week ensuring that the cache file does not go too far out of date.

Note: The NPM script `test:php` is now no longer needed during the builds. However, to prevent breaking the workflow of contributors who may be used to having the command available, the command remains available.

In a future iteration we may be able to replace the caching of the Composer dependencies with the Composer cache action as offered on the GitHub marketplace, which would further simplify the script.

Follow-up to [42960], [46290], [47881], [48957], [49037], [51543], [51544].

Props jrf, desrosj.
Fixes #47381.
Built from https://develop.svn.wordpress.org/trunk@51545


git-svn-id: http://core.svn.wordpress.org/trunk@51156 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-08-04 19:49:56 +00:00
..
assets Block Editor: Backport fixes targetted for WordPress 5.8 RC4. 2021-07-15 18:55:29 +00:00
block-patterns Block Editor: Backport fixes targetted for WordPress 5.8 RC4. 2021-07-15 18:55:29 +00:00
block-supports Docs: Undo the accidental revert of [51299] made in [51300]. 2021-07-01 21:29:56 +00:00
blocks Build: Split packages and blocks to their webpack configs 2021-07-28 10:06:59 +00:00
certificates
css Build/Test Tools: Update the caniuse browser data and regenerate CSS. 2021-07-19 00:41:57 +00:00
customize Coding Standards: Correct DateTimeZone class name in WP_Customize_Date_Time_Control::get_timezone_info(). 2021-08-03 12:18:57 +00:00
fonts
ID3 External libraries: Include upstream GetID3 fix for PHP 8. 2021-04-14 23:10:04 +00:00
images
IXR XML-RPC: Set HTTP status code in accordance with the spec. 2021-05-24 02:18:58 +00:00
js Block Editor: Backport fixes targetted for WordPress 5.8 RC4. 2021-07-15 18:55:29 +00:00
PHPMailer External Libraries: Upgrade PHPMailer to version 6.5.0. 2021-06-16 17:02:59 +00:00
pomo I18N: Correct recurring lenghts typo. 2021-07-06 13:52:57 +00:00
random_compat
Requests External Libraries: Update the Requests library to version 1.8.0. 2021-05-11 19:42:02 +00:00
rest-api Code Modernization: Silence the deprecation warnings for missing return type in WP_REST_Request. 2021-08-03 11:08:56 +00:00
SimplePie
sitemaps Coding Standards: Add a space before / character in some self-closing HTML tags. 2021-03-20 18:30:08 +00:00
sodium_compat Upgrade/Install: Update sodium_compat to v1.16.1. 2021-05-25 13:55:58 +00:00
Text
theme-compat
widgets Widgets: Validate HTML before saving block widgets. 2021-07-13 05:59:01 +00:00
admin-bar.php Network and Sites: Display site icons in the My Sites menu. 2021-05-10 18:24:01 +00:00
atomlib.php
author-template.php Users: Escape get_author_posts_url() link in wp_list_authors(). 2021-06-21 06:06:57 +00:00
block-editor.php Docs: Corrections and improvements to types used in docblocks for symbols, properties, and filters. 2021-07-01 21:02:57 +00:00
block-patterns.php Editor: Ensure the Query block pattern category is translatable. 2021-07-02 14:35:58 +00:00
block-template-utils.php Docs: Descriptive improvements and corrections for various docblocks. 2021-07-01 21:12:58 +00:00
block-template.php Remove unnecessary function_exists check in get_the_block_template_html 2021-07-02 21:52:57 +00:00
blocks.php Build: Split packages and blocks to their webpack configs 2021-07-28 10:06:59 +00:00
bookmark-template.php
bookmark.php General: Ensure consistent type for integer properties of a bookmark object. 2021-05-20 00:04:56 +00:00
cache-compat.php
cache.php
canonical.php Permalinks: Revert the changes stemming from pagination limits. 2021-06-08 23:32:56 +00:00
capabilities.php Roles/Caps: Return same result from current_user_can and user_can(). 2021-03-04 00:14:04 +00:00
category-template.php Docs: Add and correct examples of common names for various dynamic hooks. 2021-07-03 21:42:59 +00:00
category.php
class-feed.php
class-http.php Docs: Undo the accidental revert of [51299] made in [51300]. 2021-07-01 21:29:56 +00:00
class-IXR.php
class-json.php
class-oembed.php
class-phpass.php External Libraries: Update the phpass library to version 0.5. 2021-05-25 18:47:59 +00:00
class-phpmailer.php
class-pop3.php
class-requests.php External Libraries: Update the Requests library to version 1.8.1. 2021-06-06 14:05:56 +00:00
class-simplepie.php
class-smtp.php
class-snoopy.php
class-walker-category-dropdown.php
class-walker-category.php
class-walker-comment.php Comments: Remove fourth parameter on remove_filter call. 2021-05-05 18:54:57 +00:00
class-walker-nav-menu.php Docs: Correct the aria-current array key in the documentation for two widget filters. 2021-05-07 09:46:58 +00:00
class-walker-page-dropdown.php
class-walker-page.php Docs: Correct the aria-current array key in the documentation for two widget filters. 2021-05-07 09:46:58 +00:00
class-wp-admin-bar.php
class-wp-ajax-response.php
class-wp-application-passwords.php Application Passwords: Improve various user-facing and developer-facing terminology. 2021-07-19 21:14:57 +00:00
class-wp-block-editor-context.php Editor: Add missing class WP_Block_Editor_Context 2021-05-24 07:38:58 +00:00
class-wp-block-list.php Code Modernization: Silence the deprecation warnings for missing return type in WP_Block_List. 2021-08-03 11:12:55 +00:00
class-wp-block-parser.php Editor: Update @wordpress npm packages 2021-02-02 05:17:13 +00:00
class-wp-block-pattern-categories-registry.php Coding Standards: Remove a one-time $message variable in some _doing_it_wrong() calls. 2021-06-15 15:22:58 +00:00
class-wp-block-patterns-registry.php Coding Standards: Remove a one-time $message variable in some _doing_it_wrong() calls. 2021-06-15 15:22:58 +00:00
class-wp-block-styles-registry.php Coding Standards: Remove a one-time $message variable in some _doing_it_wrong() calls. 2021-06-15 15:22:58 +00:00
class-wp-block-supports.php
class-wp-block-template.php Block Editor: Introduce block templates for classic themes. 2021-05-25 14:20:57 +00:00
class-wp-block-type-registry.php Coding Standards: Remove a one-time $message variable in some _doing_it_wrong() calls. 2021-06-15 15:22:58 +00:00
class-wp-block-type.php Build: Split packages and blocks to their webpack configs 2021-07-28 10:06:59 +00:00
class-wp-block.php Build: Split packages and blocks to their webpack configs 2021-07-28 10:06:59 +00:00
class-wp-comment-query.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-comment.php
class-wp-customize-control.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-customize-manager.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-customize-nav-menus.php Coding Standards: Use strict comparison in wp-includes/class-wp-customize-nav-menus.php. 2021-05-30 19:18:01 +00:00
class-wp-customize-panel.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-customize-section.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-customize-setting.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-customize-widgets.php Coding Standards: Use the correct formatting for multi-line comments. 2021-07-13 18:02:57 +00:00
class-wp-date-query.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-dependency.php
class-wp-editor.php TinyMCE: ensure initialization runs in all cases on 'interactive' and 'complete' readyState. Fixes a rare bug when the init code is inserted in the DOM after the page has finished loading. 2021-07-10 23:58:57 +00:00
class-wp-embed.php Administration: Consistently escape admin_url() links. 2021-06-17 14:37:00 +00:00
class-wp-error.php
class-wp-fatal-error-handler.php Booststrap/Load: Only reference recovery mode email when it can be sent. 2021-06-05 15:46:57 +00:00
class-wp-feed-cache-transient.php
class-wp-feed-cache.php
class-wp-hook.php Code Modernization: Silence the deprecation warnings for missing return type in WP_Hook. 2021-08-03 11:02:00 +00:00
class-wp-http-cookie.php
class-wp-http-curl.php
class-wp-http-encoding.php
class-wp-http-ixr-client.php
class-wp-http-proxy.php
class-wp-http-requests-hooks.php Docs: Descriptive improvements and corrections for various docblocks. 2021-07-01 21:12:58 +00:00
class-wp-http-requests-response.php
class-wp-http-response.php
class-wp-http-streams.php Docs: Corrections and improvements to types used in docblocks for symbols, properties, and filters. 2021-07-01 21:02:57 +00:00
class-wp-image-editor-gd.php Docs: Corrections and improvements to types used in docblocks for symbols, properties, and filters. 2021-07-01 21:02:57 +00:00
class-wp-image-editor-imagick.php Media: When resizing WebP images set the compression to "lossy" by default. Fixes a bug where the compression was set to "lossless" when the uploaded WebP images have extended file format (VP8X). 2021-07-15 00:43:00 +00:00
class-wp-image-editor.php Media: Document edge cases with the new image_editor_output_format filter. 2021-07-15 17:39:59 +00:00
class-wp-list-util.php Docs: Improve documentation for wp_list_filter() and wp_filter_object_list(). 2021-05-28 18:04:57 +00:00
class-wp-locale-switcher.php
class-wp-locale.php
class-wp-matchesmapregex.php
class-wp-meta-query.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-metadata-lazyloader.php
class-wp-network-query.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-network.php
class-wp-object-cache.php
class-wp-oembed-controller.php Docs: Document the usage of $wp_embed global in WP_oEmbed_Controller::get_proxy_item(). 2021-06-15 10:24:57 +00:00
class-wp-oembed.php
class-wp-paused-extensions-storage.php
class-wp-post-type.php
class-wp-post.php
class-wp-query.php Docs: Add missing documentation for the minute parameter of WP_Query. 2021-07-30 10:53:58 +00:00
class-wp-recovery-mode-cookie-service.php
class-wp-recovery-mode-email-service.php Coding Standards: Move some translator comments to the correct place. 2021-04-04 18:30:05 +00:00
class-wp-recovery-mode-key-service.php
class-wp-recovery-mode-link-service.php Docs: Document the usage of $pagenow global in a few functions. 2021-02-22 19:18:12 +00:00
class-wp-recovery-mode.php
class-wp-rewrite.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-role.php
class-wp-roles.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-session-tokens.php
class-wp-simplepie-file.php Docs: Miscellaneous DocBlock corrections. 2021-05-15 17:38:05 +00:00
class-wp-simplepie-sanitize-kses.php
class-wp-site-query.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-site.php Docs: Various docblock corrections and improvements. 2021-02-20 17:10:11 +00:00
class-wp-tax-query.php
class-wp-taxonomy.php
class-wp-term-query.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-term.php Docs: Various docblock corrections. 2020-12-10 23:53:07 +00:00
class-wp-text-diff-renderer-inline.php
class-wp-text-diff-renderer-table.php
class-wp-theme-json-resolver.php I18n: Fix broken loop in WP_Theme_JSON_Resolver 2021-07-22 10:06:57 +00:00
class-wp-theme-json.php Block Editor: Add missing border setting on button block. 2021-08-03 18:14:58 +00:00
class-wp-theme.php Code Modernization: Silence the deprecation warnings for missing return type in WP_Theme. 2021-08-02 22:31:56 +00:00
class-wp-user-meta-session-tokens.php
class-wp-user-query.php
class-wp-user-request.php
class-wp-user.php Roles/Caps: Return same result from current_user_can and user_can(). 2021-03-04 00:14:04 +00:00
class-wp-walker.php Code Modernization: Use a consistent check for parent items in WP_Walker. 2021-06-22 19:09:00 +00:00
class-wp-widget-factory.php Widgets: Fix widget preview not working if widget registered via a instance 2021-06-23 01:34:58 +00:00
class-wp-widget.php Coding Standards: Simplify the logic in WP_Widget::get_field_name() and ::get_field_id(). 2021-06-04 10:47:58 +00:00
class-wp-xmlrpc-server.php XML-RPC: Set HTTP status code in accordance with the spec. 2021-05-24 02:18:58 +00:00
class-wp.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class.wp-dependencies.php
class.wp-scripts.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class.wp-styles.php Docs: Replace $this in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
comment-template.php Docs: Add and correct examples of common names for various dynamic hooks. 2021-07-03 21:42:59 +00:00
comment.php Docs: Clarify return results for a non-existing ID in metadata functions. 2021-04-02 15:49:05 +00:00
compat.php Docs: Correct a comment about WebP constants in wp-includes/compat.php. 2021-07-22 13:07:57 +00:00
cron.php Cron API: Add a missing $wp_error parameter to the pre_reschedule_event filter. 2021-02-20 12:11:03 +00:00
date.php
default-constants.php
default-filters.php Widgets: Warn when wp-editor script or wp-edit-post style is enqueued in widgets editor 2021-07-09 01:18:57 +00:00
default-widgets.php REST API: Add widget endpoints 2021-05-25 08:27:57 +00:00
deprecated.php Posts: Prevent an empty excerpt when groups and nested column blocks are present. 2021-07-06 15:32:57 +00:00
embed-template.php
embed.php Docs: Corrections and improvements to types used in docblocks for symbols, properties, and filters. 2021-07-01 21:02:57 +00:00
error-protection.php
feed-atom-comments.php
feed-atom.php Coding Standards: Add a space before / character in some self-closing HTML tags. 2021-03-20 18:30:08 +00:00
feed-rdf.php
feed-rss2-comments.php
feed-rss2.php
feed-rss.php
feed.php Docs: Miscellaneous DocBlock corrections. 2021-05-15 17:38:05 +00:00
formatting.php Emoji: Update the Twemoji library to version 13.1.0. 2021-06-08 22:15:12 +00:00
functions.php Docs: Descriptive improvements and corrections for various docblocks. 2021-07-01 21:12:58 +00:00
functions.wp-scripts.php Coding Standards: Remove a one-time $message variable in some _doing_it_wrong() calls. 2021-06-15 15:22:58 +00:00
functions.wp-styles.php
general-template.php Docs: Corrections and improvements to types used in docblocks for symbols, properties, and filters. 2021-07-01 21:02:57 +00:00
http.php
https-detection.php Docs: Miscellaneous DocBlock corrections. 2021-05-15 17:38:05 +00:00
https-migration.php
kses.php Docs: Descriptive improvements and corrections for various docblocks. 2021-07-01 21:12:58 +00:00
l10n.php Docs: Corrections and improvements to types used in docblocks for symbols, properties, and filters. 2021-07-01 21:02:57 +00:00
link-template.php Coding Standards: Remove redundant type casting to array in WP_Query::get_posts(). 2021-06-30 17:44:58 +00:00
load.php Multisite: Log error/warnings/notices from ms-files.php. 2021-07-06 20:21:57 +00:00
locale.php
media-template.php Media: Add / character to <img> tag in wp_print_media_templates(). 2021-08-04 14:25:58 +00:00
media.php Coding Standards: Fix WPCS issues in [51227]. 2021-06-24 20:55:58 +00:00
meta.php Docs: Document common names for dynamic hooks relating to metadata. 2021-07-03 21:32:58 +00:00
ms-blogs.php
ms-default-constants.php
ms-default-filters.php
ms-deprecated.php
ms-files.php Multisite: Log error/warnings/notices from ms-files.php. 2021-07-06 20:21:57 +00:00
ms-functions.php Networks and Sites: Replace two remaining occurrences of "blog" with "site" in user-facing strings. 2021-07-28 10:02:00 +00:00
ms-load.php
ms-network.php
ms-settings.php
ms-site.php Docs: Add a reference to WP_Site_Query::__construct() for information on accepted arguments in get_sites(). 2021-06-19 20:57:01 +00:00
nav-menu-template.php
nav-menu.php Docs: Undo the accidental revert of [51299] made in [51300]. 2021-07-01 21:29:56 +00:00
option.php Docs: Correct @see references for hooks in the get_option() description. 2021-07-03 11:31:58 +00:00
pluggable-deprecated.php
pluggable.php Docs: Undo the accidental revert of [51299] made in [51300]. 2021-07-01 21:29:56 +00:00
plugin.php Docs: Further synchronize documentation for some Plugin API functions. 2021-05-04 15:01:58 +00:00
post-formats.php
post-template.php Posts, Post Types: Pass the post object to the_password_form filter. 2021-04-26 15:38:05 +00:00
post-thumbnail-template.php Docs: Clarify the @return value for wp_get_attachment_image_url() and get_the_post_thumbnail_url(). 2021-02-08 14:14:08 +00:00
post.php Docs: Synchronize the $post_id argument description for some post and attachment functions. 2021-07-14 08:14:01 +00:00
query.php Coding Standards: Remove a one-time $message variable in some _doing_it_wrong() calls. 2021-06-15 15:22:58 +00:00
registration-functions.php
registration.php
rest-api.php Docs: Document the globals used in some REST API methods. 2021-06-30 12:34:56 +00:00
revision.php Docs: Add and correct examples of common names for various dynamic hooks. 2021-07-03 21:42:59 +00:00
rewrite.php
robots-template.php Robots: Remove contradictory directive check in wp_robots(). 2021-03-23 23:02:05 +00:00
rss-functions.php
rss.php Docs: In various @return tags, list the expected type first, instead of false or WP_Error. 2021-01-04 17:18:04 +00:00
script-loader.php Editor: Prevent block-editor JavaScript loading in other editors. 2021-08-04 05:10:56 +00:00
session.php
shortcodes.php Coding Standards: Remove a one-time $message variable in some _doing_it_wrong() calls. 2021-06-15 15:22:58 +00:00
sitemaps.php Docs: Miscellaneous DocBlock corrections. 2021-05-15 17:38:05 +00:00
spl-autoload-compat.php
taxonomy.php Docs: Add and correct examples of common names for various dynamic hooks. 2021-07-03 21:42:59 +00:00
template-canvas.php Block Editor: Introduce block templates for classic themes. 2021-05-25 14:20:57 +00:00
template-loader.php
template.php Block Editor: Introduce block templates for classic themes. 2021-05-25 14:20:57 +00:00
theme-i18n.json Block Editor: Add Global Settings support using theme.json file. 2021-05-24 08:37:55 +00:00
theme-templates.php Block Editor: Package updates for Beta 3. 2021-06-22 10:00:50 +00:00
theme.json Block Editor: Add missing border setting on button block. 2021-08-03 18:14:58 +00:00
theme.php Themes: Make sure get_theme_mods() always returns an array. 2021-08-01 14:55:56 +00:00
update.php Plugins: Add support for Update URI header. 2021-05-17 17:04:01 +00:00
user.php Docs: Various documentation fixes following [51129]. 2021-07-13 00:02:57 +00:00
vars.php
version.php Build/Test Tools: Switch to always running the tests via Composer. 2021-08-04 19:49:56 +00:00
widgets.php I18N: Translate _doing_it_wrong() messages in wp_check_widget_editor_deps(). 2021-07-09 10:57:59 +00:00
wlwmanifest.xml
wp-db.php Docs: Miscellaneous docblock corrections and improvements. 2021-07-22 16:54:58 +00:00
wp-diff.php