Implement sharding of build and test targets (#618)
This commit implements optional sharding. The algorithm resolves all test target patterns, then uses a list of build and test targets to distribute all targets across shards. Currently the sharding protocol assigns every N-th target (starting at offset I) to a shard, with N being the number of shards and I being the shard ID.
Example run: https://buildkite.com/bazel/fwe-test/builds/44 (with debug output)
The distribution of shell tests is not yet ideal, hence the distribution of test times is quite uneven.
This feature is still experimental, hence it's not mentioned in the documentation.
1 file changed