Running large sub-suites like syscalls on a single device can be very time-consuming (e.g., ~60 minutes on hardware X).
I would like kirk to support sharding, meaning:
- The full test set can be split into multiple shards (e.g., 10 shards).
- Each boot (device) would be responsible for running one shard.
- Each boot is given two parameters:
- shard_count: the total number of shards (e.g., 10)
- shard_index: which specific shard this boot should run (from 1 to 10)
Behavior Example:
- Configure shard_count=10.
- Boot 10 devices, each launched with a unique shard_index (1, 2, ..., 10).
- Each device runs its assigned subset of tests.
Benefits:
- Huge reduction in total test time (e.g., from 60 minutes down to ~6 minutes).
- Better utilization of available hardware.
- Much faster CI/CD feedback for developers and testers.