Open patrikwilliam opened 1 year ago
Would there be anyone looking into this? Thanks!
The idea is that the shards should execute in the nearly in the same duration. That way all the shards should complete in the fastest combined execution time.
So it picks the shortest test and the longest test into the same pairing.
Pabot has a great feature of shards splitting, but currently does alphabetical order first, splits suites to shards and then orders the suites with ordering file per shard. However, this causes the ordering to be not preserved equally. E. g. ABCD -> 2 nodes, order by ACDB -> [AB],[CD] instead of [AC],[DB]. The more suites you have the worse it is. Unfortunately, this is a significant perf problem since you want to end up running all shards equally, which is currently not possible due to the behavior explained (each suite has different duration). This minor change should do the trick https://github.com/mkorpela/pabot/pull/558, but it is not clear to me why the current behavior is as it is and who might benefit that.