Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
A lot of CI environments (GitHub Actions/Circle CI etc) charge by the minute. So running tests across multiple boxes costs very little more than 1 box, but gives results back much quicker.
I've love to be able to do some thing like:
mvn tests -Dsurefire.chunks=10 -Dsurefire.chunk=1
Which I could run on box 1 of 10, then
mvn tests -Dsurefire.chunks=10 -Dsurefire.chunk=2
on box 2, etc etc.
I've seen solutions that involved code outside of maven looking at JUnit test results and producing a files to pass in -Dsurefire.excludesFile on each of the boxes. This solution requires state from previous runs and code outside of surefire. I think being able to do this completely in the surefire plugin would be a great enhancement. User could provide the chunks/chunk values, and then optionally (as a plus plus feature) some test results that give timings to allow more even test distribution across the chunks.