Queue tests and split across nodes as needed
complete
J
Jacob Johnston
Currently CircleCI offers test splitting as its primary form of support for parallelism. Often a larger test suite can begin running into problems with this method for a variety of reasons.A single node that happened to be allocated several long running test or an unhealthy node that is running at a much slower pace than other nodes can cause total build time to end up being much higher. A queue could help alleviate these problems and only allocate tests as needed to nodes.This problem can be solved if you are using specific test suites by the use of third party tools, but this also adds a reliance on a third party system. Without this system your builds become unable to run.Additionally, these 3rd parties are not test suite agnostic and make them unusable if you aren't using these suites.
CCI-I-1175
Minjun Seong
marked this post as
complete
Hi all! We're excited to announce that Dynamic Test Splitting is now available as part of Smarter Testing (currently in beta).
Dynamic test splitting distributes tests across parallel nodes to minimize node idle time. Unlike static splitting, which divides tests evenly upfront, dynamic splitting uses a shared queue that nodes pull from continuously. This ensures balanced workloads even when some nodes start late or run slower than expected.
Resources:
Discuss post on Smarter Testing Beta: https://discuss.circleci.com/t/product-launch-smarter-testing-is-now-in-beta/54497
Dynamic Test Splitting documentation: https://circleci.com/docs/guides/test/use-dynamic-test-splitting/
We'd love your feedback — drop a comment on the Discuss post or reach out to me directly at minjun.seong@circleci.com.
D
Donald Tyler
Yes!