Features

Knapsack Pro

ruby gem uses API

Knapsack

open source gem

Queue mode - dynamic tests allocation across CI nodes

Autobalance tests to get optimal test suite split betweeen CI nodes.
It is designed for tests with random time execution and overloaded CI nodes with random performance. (how it works & how to enable)

Regular mode - test suite split based on time execution

It generates subset of test suite per CI node before running tests.

Automated tests time execution recording

Test suite split based on most up to date tests time execution data

More optimal test suite split for newly created branches

Smart test suite split when tests time execution data are not available

Bulid metrics to detect bottlenecks

Track test suite split for git commit hash
Track test suite split for branch name
Track test suite split for CI node total number
Retry failed CI node with the same subset of tests (see)
Run tests for particular CI node in your development environment (see)

Security

HTTPS connection to Knapsack Pro API
Test file names encryption before send data to Knapsack Pro API (how to enable)
Fallback mode - run tests always even in case of connection problems with Knapsack Pro API (see)

Ruby testing tools support

RSpec
Minitest
Test::Unit
Cucumber
Spinach
Turnip

Other languages testing tools

Do you use different programming language or test runner? Let us know in the poll

CI support build into the gem

CircleCI.com
Travis-CI.org
Buildkite.com
Codeship.com
Gitlab CI
SemaphoreCI.com
Jenkins (example of set up)
Can work with other CI server

How Knapsack Pro makes my life easier as opposed to regular knapsack gem?