Skip to content

Auto-determine most efficient parallelization factor for test runs

Problem to solve

Building on Automatic Test Splitting, we can take things a step further by supporting an auto value for the maximum setting, which would tell GitLab to find the most efficient ratio of tests to parallel jobs. Other products like Semaphore CI do this, but I'm not sure what calculation they use to determine the optimal balance.

Intended users

Sasha (Software Developer)

Further details

We should ensure this setting is the default, or create a follow up issue to make it the default later if not possible.

Proposal

Support a new max: value for the parallel keyword: auto:

test:
  script: rspec
  parallel:
    max: auto
    booster: rspec

This would create the optimal number of jobs x, each running rspec_booster --job n/x (where n is the job index)

Permissions and Security

No security changes

Documentation

Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Links / references

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖