Commit Graph

189 Commits

Author SHA1 Message Date
Pascal Birchler
f95ddbcee5 Build/Test Tools: Reinstate PUPPETEER_SKIP_DOWNLOAD for most CI workflows.
The `PUPPETEER_SKIP_DOWNLOAD` environment variable is used to prevent Puppeteer from automatically downloading browser binaries.
It was removed in [56926] due to the migration to Playwright. However, because of the QUnit tests, Puppeteer is actually still a dependency.

Until those tests change, we have to keep this environment variable to prevent unnecessary downloads on CI.

Props SergeyBiryukov.
Fixes #59517.

git-svn-id: https://develop.svn.wordpress.org/trunk@56954 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-17 11:27:24 +00:00
Pascal Birchler
14173bf50d Build/Test Tools: Ensure the failed workflow tasks run last for e2e tests.
This is a follow-up to [56926], where this logic has been reintroduced after it was originally removed in [56198].

Props desrosj.
See #59517.

git-svn-id: https://develop.svn.wordpress.org/trunk@56942 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-16 14:32:26 +00:00
Pascal Birchler
5a838d1bb7 Build/Test Tools: Migrate Puppeteer tests to Playwright.
As per the migration plan shared last year, this migrates all browser-based tests in WordPress core to use Playwright.
This includes end-to-end, performance, and visual regression tests.

Props swissspidy, mamaduka, kevin940726, bartkalisz, desrosj, adamsilverstein.
Fixes #59517.

git-svn-id: https://develop.svn.wordpress.org/trunk@56926 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-13 08:11:41 +00:00
Jonathan Desrosiers
a8d53284d3 Build/Test Tools: Remove hardcoded PHPUnit config files.
The configuration file passed to the callable workflow contains the correct one to use.

See #58955.

git-svn-id: https://develop.svn.wordpress.org/trunk@56831 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-11 18:07:45 +00:00
Jonathan Desrosiers
0ee1aebea6 Build/Test Tools: Increase the timeout for the failed workflow.
Following [56829], the previous `timeout-minutes` value of `5` is insufficient when approaching 10 retries.

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56830 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-11 17:13:12 +00:00
Jonathan Desrosiers
0b99e283b2 Build/Test Tools: Increase the number of retries when restarting a workflow.
This increases the number of times to retry restarting a workflow from 2 to 10. Retries use exponential backoff to space out retries.

In most cases, only 2 retries was sufficient. However, there are occasionally scenarios where the original workflow is still running and cannot be restarted, resulting in an error. This typically happens during periods of ongoing service degradation, or workflows with a significant number of jobs (GitHub Actions is sometimes very slow to mark these as finished).

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56829 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-11 15:54:52 +00:00
Jonathan Desrosiers
ce8aed4698 Build/Test Tools: Don’t send Slack notification for workflow retries.
[56780] changed Slack failure notifications to not send a failure notification during the first run of a workflow. Because workflows automatically restart once, a failure during the first run can be ignored.

This adjusts the workflow to also not send a “fixed” notification when the second run of a workflow succeeds after a failure. Because the original failure is no longer reported, these notifications are unnecessary.

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56827 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-11 12:15:18 +00:00
Jonathan Desrosiers
f19b20e5b6 Build/Test Tools: Correct variable typo.
This was causing the version of WordPress being tested to be listed as `latest` even when that is not the case.

Props davidbaumwald.
See #58977.

git-svn-id: https://develop.svn.wordpress.org/trunk@56823 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-10 17:30:13 +00:00
Jonathan Desrosiers
987ea9bbf8 Build/Test Tools: Check for zero-byte files in themes.
Because the contents of binary files are not included in patches by default, occasionally empty versions of these files are committed on accident. This is the most commonly happens within default themes because they usually contain image and font files.

This adds a job to the theme related GitHub Action workflow that checks for the presence of zero-byte files so that these instances are caught more easily.

Props costdev, hellofromTonya, luminuu, onemaggie.
Fixes #59527.

git-svn-id: https://develop.svn.wordpress.org/trunk@56792 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-06 12:45:43 +00:00
Jonathan Desrosiers
0d844c1c34 Build/Test Tools: Don’t send a Slack notice for a workflow’s first failure.
After [53947], all workflows will automatically be restarted once in an attempt to rule out reasons for failures, such as timeouts or network hiccups.

Second attempt at [56404], which was previously reverted in [56407].
See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56780 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-04 19:12:15 +00:00
Jonathan Desrosiers
e624c1278a Build/Test Tools: Test Twenty Twenty-Four.
This adds Twenty Twenty-Four to the Default Theme test workflow in GitHub Actions.

Follow up to [56764], [56726], [56721], [56716].
See #59447.

git-svn-id: https://develop.svn.wordpress.org/trunk@56770 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-03 18:11:01 +00:00
Sergey Biryukov
9a4511ac94 Build/Test Tools: Use the latest PHP version for the coding standards workflow.
PHPCS can now be run on the latest PHP version as all known PHP 8.x compatibility issues (in WPCS) have been fixed.

Follow-up to [49162], [56695].

Props jrf, desrosj.
See #59161.

git-svn-id: https://develop.svn.wordpress.org/trunk@56696 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-26 00:46:32 +00:00
Jonathan Desrosiers
5523bd276b Build/Test Tools: Introduce install and upgrade testing workflows.
This introduces GitHub Action workflows for testing the installation and upgrade process to ensure there are no unexpected issues. The goal of these workflows is to replicate some of the manual testing that happens during the release process. This does not replace that testing which is a fantastic, low barrier way for someone newer to contributing to get involved. Instead, it should serve as an additional sanity check to ensure no combinations are missed.

The installation workflow tests installing the latest or specified version of WordPress on all PHP and MySQL version combinations for both single and multisite.

The upgrade testing will test upgrading from each branch that still receives security updates to the latest or specified version on all PHP and MySQL version combinations for both single and multisite.

Both workflows confirm that no errors are encountered when using WP-CLI to install or upgrade WordPress. No test assertions of any type are currently performed, but adding some will be explored.

Props costdev, azaozz, ironprogrammer, desrosj.
See #58977.

git-svn-id: https://develop.svn.wordpress.org/trunk@56661 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-22 17:41:11 +00:00
Jonathan Desrosiers
ba71767faf Build/Test Tools: Simplify some logic in GitHub Action workflows.
This simplifies the logic within the `slack-notifications` and `failed-workflow` steps in GitHub Action workflows to use the `contains()` function and object filtering.

This makes it simpler to perform the needed checks by removing the need to list out every single dependent job defined in `needs`.

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56660 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-22 14:28:01 +00:00
Jonathan Desrosiers
8baf4f643c Build/Test Tools: Update the environment variable for skipping browser binaries.
This changes the environment variable used in GitHub Action workflows to skip downloading the browser binary that’s a peer dependency when it’s not needed.

In [56647], the version of `puppeteer` peer-dependency was bumped to `>= 20.0.0`. Starting in version `20.0.0`, puppeteer switched to using Chrome for testing instead of Chromium. With this release, the `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD` environment variable was removed in favor of the more generic `PUPPETEER_SKIP_DOWNLOAD`.

All workflows that do not need a browser binary now contain the correct `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD` variable.

Follow up to [56647].

See #58863.

git-svn-id: https://develop.svn.wordpress.org/trunk@56659 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-22 13:55:14 +00:00
Jonathan Desrosiers
1cfefb918a Build/Test Tools: Update a few more 3rd-party GitHub Action occurrences.
Follow up to [56537].

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56538 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-07 16:54:48 +00:00
Jonathan Desrosiers
34520001c5 Build/Test Tools: Update 3rd-party GitHub Actions.
This updates all 3rd-party GitHub actions to their latest versions. The following actions were updated:
- `actions/cache`
- `actions/checkout`
- `actions/setup-node`
- `codecov/codecov-action`
- `shivammathur/setup-php`
- `slackapi/slack-github-action`

In the latest version of `actions/checkout` (`4.0.0`), a new input was introduced to control the output of command progress. This change uses this new `show-progress` input to turn off displaying progress by default. Progress will be shown when a workflow is run with debug mode enabled, just in case it contains helpful information.

Props johnbillion, desrosj.
See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56537 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-07 16:49:18 +00:00
Pascal Birchler
b447190e4c Build/Test Tools: Compare results in performance measurement workflow.
This extends the performance test workflow added in [55459] to also run tests against the target branch (if running on a pull request) or the previous commit (if running on trunk).

Those results are then compared with the ones from the current commit, and the difference is displayed as a GitHub Actions workflow summary for convenience.

Props mukesh27, flixos90, desrosj, joemcgill, swissspidy.
Fixes #58358, #58359.
See #56150.

git-svn-id: https://develop.svn.wordpress.org/trunk@56506 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-01 17:24:56 +00:00
Sergey Biryukov
9879434020 Build/Test Tools: Enable running the tests on PHP 8.3.
PHP 8.3 is expected to be released at the end of November 2023.

Enabling the tests to run in CI on PHP 8.3 allows WordPress core to start getting ready.

Note: Xdebug-related tests will not be run on PHP 8.3 at this time as the Docker image for PHP 8.3 does not contain Xdebug yet. Once a stable release of Xdebug 3.3.0 is available, it can be added to the Docker image and the test step can then be enabled for PHP 8.3.

Follow-up to [53922], [56492], [56495].

Props jrf, costdev.
See #59231.

git-svn-id: https://develop.svn.wordpress.org/trunk@56498 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-31 10:15:42 +00:00
Jonathan Desrosiers
416d1a8ddc Build/Test Tools: Implicitly pass secrets to the called workflow.
This ensures the Hosting Test results API key is present for reporting results.

Follow up to [56439] and [56440].

See #30462.

git-svn-id: https://develop.svn.wordpress.org/trunk@56443 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-24 14:21:36 +00:00
Jonathan Desrosiers
c2ae255fe1 Build/Test Tools: Merge pre-commit changes missed in [56439].
Props l1nuxjedi.
See #30462.

git-svn-id: https://develop.svn.wordpress.org/trunk@56440 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-24 13:28:26 +00:00
Jonathan Desrosiers
a00b04bae7 Build/Test Tools: Expand database testing to account for all supported versions and types.
This modifies the PHPUnit workflow to add MySQL version 8.0 to the strategy matrix. It also adds an additional strategy matrix to expand testing to include several supported MariaDB versions.

To prevent repeating code, the business logic of the PHPUnit testing has been moved to a new, callable workflow.

Because callable workflows target a specific branch, branches created in the future will continue to benefit from improvements made to the workflow in `trunk` without requiring backports. If a breaking change is required, older branches will need to be updated to target the commit SHA representing the final commit of the previous state.

Props johnbillion, pento, boonebgorges, netweb, nacin, desrosj.
Fixes #30462.

git-svn-id: https://develop.svn.wordpress.org/trunk@56439 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-24 13:08:40 +00:00
Jonathan Desrosiers
5b517ae3a6 Build/Test Tools: Revert Slack messaging changes.
This reverts [56404], [56405], [56406].

More testing is needed to ensure multiple messages are not sent unintentionally.

Unprops desrosj.
See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56407 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-17 17:56:06 +00:00
Jonathan Desrosiers
dca4cc00bd Build/Test Tools: Send a failure notice in Slack when a run fails to start.
This adds `startup_failure` to the list of conclusions that the Slack workflow looks for when determining whether to send a failure notice.

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56406 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-17 17:34:06 +00:00
Jonathan Desrosiers
7cd891845e Build/Test Tools: Use the correct variable for checking the previous conclusion.
Follow up to [56404].
See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56405 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-17 17:17:23 +00:00
Jonathan Desrosiers
d3f193f741 Build/Test Tools: Don’t send a Slack notice when a workflow fails once.
[53947] introduced a callable workflow that allowed a workflow run to be retried automatic. By default all workflows are retried once.

Since a run is not considered “failed” until after the automatic retry, the first Slack message is unnecessary and can cause a lot of noise when there are network hiccups.

This alters the logic to skip a failure notice in Slack until the second failure.

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56404 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-17 16:59:49 +00:00
Jonathan Desrosiers
cc828e2619 Build/Test Tools: Simplify the required prerequisite jobs for the failed-workflow job.
Because `slack-notifications` job requires all preceding jobs in each workflow to complete, there’s no need to include the same jobs in the `needs` configuration for the `failed-workflow` one.

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56402 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-17 14:42:58 +00:00
Jonathan Desrosiers
8d56facbeb Build/Test Tools: Update 3rd-party GitHub Actions.
This updates all 3rd-party GitHub Actions to their latest versions.

See #58867.

git-svn-id: https://develop.svn.wordpress.org/trunk@56388 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-11 13:03:21 +00:00
Joe McGill
a0b15f354a Build/Test Tools: Run performance tests using production env vars.
This sets the following environment variables when running automated performance tests to avoid side effects that can skew performance data when the default development environment variables are used:

* `SAVEQUERIES`: `false`
* `SCRIPT_DEBUG`: `false`
* `WP_DEBUG`: `false`
* `WP_DEVELOPMENT_MODE`: `''`

Props rajinsharwar, desrosj, mukesh27, joemcgill.
Fixes #58825.


git-svn-id: https://develop.svn.wordpress.org/trunk@56313 602fd350-edb4-49c9-b593-d223f7449a82
2023-07-26 19:11:44 +00:00
Jonathan Desrosiers
d80d3e16a4 Build/Test Tools: Restore automatically retrying failed E2E tests once.
This restores the GitHub Actions job responsible for automatically retrying a failed workflow once within the E2E testing workflow.

[56198] disabled Slack notifications for this workflow because of the increased number of timeout errors occurring after recent changes until they could be further investigated. Even though the signal-to-noise ration was way too high, there’s still benefit in retrying the workflow once to see if the timeout can be resolved without human intervention. The one retry attempt will not result in any Slack notifications.

Follow up to [56198].
See #58779.

git-svn-id: https://develop.svn.wordpress.org/trunk@56308 602fd350-edb4-49c9-b593-d223f7449a82
2023-07-25 18:17:56 +00:00
Mike Schroder
6049e1fefa Trunk is now 6.4 alpha.
git-svn-id: https://develop.svn.wordpress.org/trunk@56267 602fd350-edb4-49c9-b593-d223f7449a82
2023-07-19 05:52:06 +00:00
Peter Wilson
0c5e0dfd7c Build/Test Tools: Suppress E2E test suite Slack notifications.
Remove Slack notifications of E2E test suite failures while the tests are flakey to improve the signal-to-noise ratio.

Fixes #58779.



git-svn-id: https://develop.svn.wordpress.org/trunk@56198 602fd350-edb4-49c9-b593-d223f7449a82
2023-07-11 04:08:03 +00:00
John Blackbourn
f7dbb2462b General: Increase the minimum supported version of PHP to 7.0.0.
This also removes the random compat library which is no longer necessary, and adjusts unit tests and CI workflows that no longer need to take PHP 5.6 into account.

Thank you for your service, PHP 5. Onwards!

Props SergeyBiryukov, mukesh27, dingo_d, audrasjb, jrf, costdev, azaozz, JavierCasares, hellofromTonya, samiamnot, spacedmonkey, masteradhoc, knutsp, garyjones, chanthaboune

Fixes #57345


git-svn-id: https://develop.svn.wordpress.org/trunk@56141 602fd350-edb4-49c9-b593-d223f7449a82
2023-07-05 17:39:55 +00:00
John Blackbourn
d48301e572 Build/Test Tools: Improve the name of the e2e test jobs on GitHub Actions.
Fixes #58661


git-svn-id: https://develop.svn.wordpress.org/trunk@56114 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-29 23:09:47 +00:00
John Blackbourn
77ed29b817 Build/Test Tools: Run E2E tests with and without SCRIPT_DEBUG enabled.
This adds a matrix to the e2e test runs on GitHub Actions so the tests run both with and without `SCRIPT_DEBUG` enabled. This allows us to catch scenarios where the minified and non-minified files may differ.

Props Clorith, joemcgill

Fixes #58661


git-svn-id: https://develop.svn.wordpress.org/trunk@56113 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-29 23:01:48 +00:00
Peter Wilson
151621661b Build/Test Tools: Store artefacts of failing E2E test runs.
Modify the E2E workflow to store the screenshots and HTML files generated during failing tests as an artifact in the workflow.

No artefact is stored for passing test runs.

Props peterwilsoncc, isabel_brison.
Fixes #58596.



git-svn-id: https://develop.svn.wordpress.org/trunk@55991 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-22 22:35:44 +00:00
Peter Wilson
b638c20014 Build/Test Tools: Update URL of theme unit test data.
Update the performance tests to account for the relocation of the theme unit test data repository to the WordPress organisation on GitHub.

Props costdev, kafleg, williampatton, dd32, otto42, poena, jrf, joemcgill, peterwilsoncc, mukesh27.
Fixes #58569.


git-svn-id: https://develop.svn.wordpress.org/trunk@55976 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-22 04:19:59 +00:00
John Blackbourn
b54303cd82 Build/Test Tools: Fix the permissions that are granted to the Slack notifications workflow.
Follow-up to [55715].

See #57865


git-svn-id: https://develop.svn.wordpress.org/trunk@55717 602fd350-edb4-49c9-b593-d223f7449a82
2023-05-03 23:20:40 +00:00
John Blackbourn
3bfc6611ad Build/Test Tools: Restrict the permissions granted to jobs on GitHub Actions
The `permissions` key in a job declares the GitHub permissions that are granted to the token that's used by the job. Restricting the permissions reduces the impact that a vulnerability in the CI system can have.

Props desrosj, johnbillion

See #57865


git-svn-id: https://develop.svn.wordpress.org/trunk@55715 602fd350-edb4-49c9-b593-d223f7449a82
2023-05-03 22:15:27 +00:00
Jonathan Desrosiers
b2ec9f050e Build/Test Tools: Add the workflow_dispatch event to the performance workflow.
This allows workflow runs to be initiated through the GitHub API.

Follow up to [55507].

See #57687.

git-svn-id: https://develop.svn.wordpress.org/trunk@55508 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-10 00:15:07 +00:00
Jonathan Desrosiers
60639bde6b Build/Test Tools: Test the new performance workflow regularly.
This adds the new performance measurement workflow introduced in [55459] to the one that tests old branches on a regular schedule.

This ensures it continues to work as expected over time, even if the branches with this workflow are not updated for a bit of time.

Props flixos90, joemcgill, desrosj.
See #57687.

git-svn-id: https://develop.svn.wordpress.org/trunk@55507 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-10 00:04:45 +00:00
Tonya Mork
1fb37bd953 Build/Test Tools: Add 6.2 branch to the workflow for testing branches.
git-svn-id: https://develop.svn.wordpress.org/trunk@55506 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-09 21:57:21 +00:00
Jonathan Desrosiers
fc160338c0 Build/Test Tools: Update several GitHub Actions.
This updates three GitHub Actions to their latest versions:
- `shivammathur/setup-php`
- `actions/cache`
- `wow-actions/welcome`

The welcome action now uses the `GITHUB_TOKEN` by default, so it no longer needs to be passed manually.

See #57572.

git-svn-id: https://develop.svn.wordpress.org/trunk@55487 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-08 16:33:13 +00:00
Joe McGill
95703e3de5 Build/Test Tools: Update the URL for logging performance workflows.
This is a follow up to r55459, which fixes the hostname used for logging performance metrics by adding the correct www subdomain.

See #57687.


git-svn-id: https://develop.svn.wordpress.org/trunk@55479 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-07 16:58:56 +00:00
Joe McGill
8417a97deb Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.

The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:

- Total server response time
- Server time before templates are loaded
- Server time during template rendering

In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.

The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.

Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.


git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00
Jonathan Desrosiers
b6f9fff7c3 Build/Test Tools: Update third-party GitHub Actions.
This updates the following third-party GitHub Actions to their latest versions.

- `actions/cache`
- `actions/checkout`
- `actions/upload-artifact`
- `actions/setup-node`
- `actions/setup-php`
- `actions/github-script`

See #57572.

git-svn-id: https://develop.svn.wordpress.org/trunk@55152 602fd350-edb4-49c9-b593-d223f7449a82
2023-01-27 19:23:20 +00:00
Peter Wilson
ac587db08b Build/Test tools: Remove 3.7-4.0 branches from scheduled test runs.
We're gonna teach 'em how to say goodbye (teach 'em how to say goodbye)
Teach 'em how
To say goodbye
To say goodbye (say goodbye)
Say goodbye (say goodbye)
One last time

Fixes #57228.



git-svn-id: https://develop.svn.wordpress.org/trunk@54995 602fd350-edb4-49c9-b593-d223f7449a82
2022-12-15 05:02:04 +00:00
Jonathan Desrosiers
40c097e0d0 Build/Test Tools: Run Xdebug tests on PHP 8.2.
Xdebug 3.2.0 (which adds support for PHP 8.2) has been released and is now included in the PHP 8.2 Docker container.

The tests in the `xdebug` group can now be run against all PHP versions currently supported by WordPress.

See https://github.com/WordPress/wpdev-docker-images/pull/92.

See #56009.

git-svn-id: https://develop.svn.wordpress.org/trunk@54967 602fd350-edb4-49c9-b593-d223f7449a82
2022-12-14 00:22:53 +00:00
Jonathan Desrosiers
1e65a9a78b Build/Test Tools: Improve caching for PHPCS.
This improves the speed of the PHPCS scans between workflow runs in GitHub Action by creating a scan cache file for each unique set of arguments passed to `phpcs`.

Props jrf.
Fixes #57148. See #53841.

git-svn-id: https://develop.svn.wordpress.org/trunk@54921 602fd350-edb4-49c9-b593-d223f7449a82
2022-12-01 20:11:48 +00:00
Jonathan Desrosiers
4b5931521b Build/Test Tools: Improve how Composer dependencies are installed.
To improve how Composer dependencies are installed and managed within GitHub Actions, the `ramsey/composer-install` third-party action is now used consistently throughout all workflows.

Previously, some workflows manually ran `composer` commands while others already used `ramsey/composer-install`.

The `ramsey/composer-install` action manages caching dependencies across workflow runs internally, which is something that was manually handled before this change.

Props jrf, desrosj.
Fixes #53841.

git-svn-id: https://develop.svn.wordpress.org/trunk@54856 602fd350-edb4-49c9-b593-d223f7449a82
2022-11-18 14:50:52 +00:00