The QA tests currently take 5hrs to run per orb. This constitutes 83% of our CI run time.
My understanding is that the time is mostly taken up in Thread.sleep. The test times range from 1 to 99seconds. So there are no major hotspots. The problem is that there are so many tests.
I suspect we could run these tests in parallel to make better utilisation of resources.
The tests don't run in an AS, but they do acquire ports. There may be other restrictions that make running them in parallel hard or impossible.
It would be easier to simply carve up the tests into, say 5 parts per orb and have CI do the parallelism. However, this will consume more CI nodes than if we ran them in parallel on a single node.
I think it would be worth investigating if we can run the tests in n batches (say n=10 initially, but should be configurable). Where each batch runs with a different port configuration. This may prove too disruptive to the tests,
and also more bother than it is worth. Maybe we could do an initial investigation to see if this has legs?