- I can define how many cores can be used to parallelize the execution
- The tests to execute per sub stage should be determined based on the number of defined cores
The context of this ticket is a follow up to
OPT-2107 - parallelization of the backend integration tests.
We would like to automatize the splitting of the tests dependent on parameters like number of splits (or even something like desired max time)
There exists a Jenkins plugin called Parallel Test Executor Plugin which provides the functionality that we would like to have.
It provides the logic that analyzes previous test runs to split the tests evenly based on their test execution time and creating excludes/includes files that can be used in the build pipeline to only execute these tests in a certain node.
We created a SRE ticket SRE-520.
In case that the Jenkins plugin is not possible to use we should think about implementing such a dynamic test splitting ourselfs.
In the previous ticket
OPT-2107 we implement the pipeline part of this functionality and work with hardcoded splitting / excludes.