[meta] Core test suite performance

Created on 20 July 2024, about 2 months ago
Updated 22 July 2024, about 2 months ago

Problem/Motivation

Thought we already had an meta issue for this, but can't find one. Gitlab has allowed us to get core pipeline runtimes down to ~8 minutes wall time, but we still have more to do:

1. A single long running test, like a functional test using a data provider with 15+ items or so, can take 5-6 minutes just by itself, singlehandedly taking pipeline times closer to 10-15 minutes and tying up a runner. This is very easy to do - it's just using the phpunit API to organise a test logically, but our functional and functional javascript tests are not normal phpunit tests.

2. The fast wall times rely on a lot of parallelisation, core pipelines must use approx 20 pods or more. So compute time is still significant.

3. iirc, the gitlab cluster still relies on very beefy aws instances, this likely increases costs on top of the compute time. The more we can do to make things efficient, the more flexibility there is to use smaller/cheaper test runners.

4. Similar to #1, we have a lot of individual tests that take 3-4 minutes to run each, this results in a floor where while we might be able to tweak pipelines down to about 7m (I think the fastest run so far was about 7m20 but things have regressed a bit recently), getting things significantly under 7 minutes will be nearly impossible without significant breakthroughs.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

🌱 Plan
Status

Active

Version

11.0 🔥

Component
PHPUnit 

Last updated about 11 hours ago

Created by

🇬🇧United Kingdom catch

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024