#52548 closed task (blessed) (fixed)
Run Multisite tests in parallel during CI
Reported by: |
|
Owned by: |
|
---|---|---|---|
Milestone: | 5.7 | Priority: | normal |
Severity: | normal | Version: | |
Component: | Build/Test Tools | Keywords: | has-patch commit |
Focuses: | Cc: |
Description
Related: #50401
The PHPUnit test workflow takes around 26 minutes (±2 minutes) to run on GitHub Actions. Each job within each run runs the whole test suite, with a total of 8 jobs (7 distinct PHP versions plus an extra job for 7.4 with memcached).
We should take more advantage of GitHub Actions' parallel processing of jobs within a workflow. If we reduce the times for each job by spreading their work across multiple jobs and all jobs still run in parallel, we reduce the overall workflow time as long as the time saving is greater than the time taken to set up each job (download the artefact, install dependencies, and start the containers).
One way to do this is by splitting the Multisite tests into their own jobs and adding a multisite flag to the matrix. This very roughly halves the time for the actual PHPUnit tests in each job, and in practice reduces the total duration of the workflow from ~26 minutes to ~16 minutes.
Items to consider before this can be implemented:
- How to correctly report the results to the WordPress.org host test results collector
Change History (28)
This ticket was mentioned in PR #1009 on WordPress/wordpress-develop by johnbillion.
4 years ago
#1
- Keywords has-patch added
4 years ago
#2
Also, it's probably also worthwhile to copy this idea over to the test coverage workflow as well.
johnbillion commented on PR #1009:
4 years ago
#3
Opened https://core.trac.wordpress.org/ticket/52561 for the coverage report.
Just one remaining item for this change then - will the hosting test result reporter handle two submissions (one for single site and one for Multisite) ok? Should this be a separate ticket to prevent it from blocking this change?
johnbillion commented on PR #1009:
4 years ago
#4
For now I set multisite
to false
for the report
job. I'll open a separate ticket for that too.
I think this is ready to go. Anything else from you @desrosj ?
#6
@
4 years ago
- Owner set to johnbillion
- Resolution set to fixed
- Status changed from new to closed
In 50379:
https://core.trac.wordpress.org/ticket/52548