According to the analysis in T361118: [EPIC][Infra] Reduce CI test runtime for Wikibase and related extensions, wmf-quibble-vendor-mysql-php74-docker takes the longest of the checks with 21.6 minutes, with the PHPUnit test suite taking 14.5 minutes. Any improvement to the runtime for this check would directly reduce the total round-trip time for CI checks.
Investigate splitting the test suite into smaller chunks. The chunks can then be run in parallel.
- creating two chunks of 7.25 minutes would already improve the CI run time by 7.25 minutes
- In the Python world, pytest-split is a popular plugin that implements test suite splitting for pytest suites.
- phpunit has basic functionality for filtering test cases by test class name (e.g. phpunit --filter '/^[A-M]/', phpunit --filter '/^[N-Z]/')
Demonstrate the improvement in runtime by running the quibble docker image locally, with before / after timings, and propose patches to integration/config and integration/quibble .