Knapsack splits tests evenly across parallel CI nodes to run fast CI build and save you time.
Knapsack splits tests evenly across parallel CI nodes to run fast CI build and save you time.
knapsack gem | knapsack_pro gem | |
---|---|---|
Is free | ✓ Yes | ✓ Yes, free plan |
Regular Mode - a static tests split | ✓ Yes | ✓ Yes |
Queue Mode - a dynamic tests split (ensures all CI nodes finish work at the same time) |
No | ✓ Yes |
Auto split slow RSpec test file between parallel CI nodes (a single test file can be auto split by test examples between parallel jobs) |
No | ✓ Yes |
Tracking tests timing per commit, branch | No | ✓ Yes |
Support for other programming languages | No | ✓ Yes |
Support for CI providers | limited | ✓ Yes |
Installation README | Install README | Install README |
Features of knapsack vs knapsack_pro Ruby gem
Do you know Knapsack Pro Ruby gem is available as Heroku add-on? It works with your current CI server. https://elements.heroku.com/addons/knapsack-pro
Knapsack Pro has Queue Mode that will split Ruby & JS tests in a dynamic way across parallel CI nodes to ensure each parallel job takes a similar time. Thanks to that there is no bottleneck in your CI pipelines.
See introduction how the Knapsack Pro add-on works https://youtu.be/rmXES2N0_QU
You may also find useful article how to run parallel dynos on Heroku CI to complete tests faster https://docs.knapsackpro.com/2019/how-to-run-tests-faster-on-heroku-ci-with-parallel-dynos