mirror of
https://github.com/sbt/sbt.git
synced 2026-10-06 18:14:04 +02:00
* [2.x] feat: testForkedWorker setting **Problem** A major bottleneck of the default setting is that concurrentRestriction allows exactly one forked test in flight at a time, and partly due to the restriction all test suites from a subproject runs within the forked process. **Solution** This adds a new setting called testForkedWorker, which lets the build users tune the number of concurrent worker process in flight. I've set the default to CPU count / 3. Within a single worker, the default parallelism is reduced to 2. The default test grouping now splits the test suites into testForkedWorker count. * Use Global scope for overall worker count Subproject scoping can be used for single vs split * Adds math.max(..., 1) * Avoid running setup/cleanup on an empty selection * Fix the tag application order * Rename key to workerMaxInstances * Implement TestTopology * fix: Fixes exclusive test Note due to the limitation of the tag system, setup-clean/cleanup may overlap. * Check that workerMaxInstances >= 1