Trying to figure out if there's a way that datadog-ci and knapsack can be better integrated, maybe this is just a queue mode problem, but here's the scenario I'm trying to solve for:
datadog's ITR examines the test coverage and determines that most of the tests can actually be skipped, but we still pass the full list of tests to knapsack in our CI config. knapsack determines subsets and breaks the list up but because most things are being skipped, some parallel nodes end up with no tests to run and it throws the entire split timings out of wack and the job takes too long to complete (in some cases longer than without skipping any tests).
I'm wondering if there's a way we can either have knapsack be aware of skipped tests when determining subsets and make the distribution better based on that, and/or somehow introduce the idea of dynamic parallelism and just determine the proper number of nodes to be ran based on the number of tests that will actually run effectively fixing the split timings issue.
/cc @ArturT @anmarchenko
Trying to figure out if there's a way that datadog-ci and knapsack can be better integrated, maybe this is just a queue mode problem, but here's the scenario I'm trying to solve for:
datadog's ITR examines the test coverage and determines that most of the tests can actually be skipped, but we still pass the full list of tests to knapsack in our CI config. knapsack determines subsets and breaks the list up but because most things are being skipped, some parallel nodes end up with no tests to run and it throws the entire split timings out of wack and the job takes too long to complete (in some cases longer than without skipping any tests).
I'm wondering if there's a way we can either have knapsack be aware of skipped tests when determining subsets and make the distribution better based on that, and/or somehow introduce the idea of dynamic parallelism and just determine the proper number of nodes to be ran based on the number of tests that will actually run effectively fixing the split timings issue.
/cc @ArturT @anmarchenko