Knapsack Pro Beta

Run 1-hour tests in 2 min on your current CI server with optimal parallelisation Starting at $0/mo.

Save engineers time with fast CI builds

Run faster CI builds on your current CI server by doing the optimal split of your tests across parallel CI nodes (parallel jobs).

Knapsack Pro Queue Mode ensures each of your parallel CI nodes completes tests execution at a similar time so there is no bottleneck in your CI pipeline.

See graphs showing saved time after applying Knapsack Pro on Circle CI. For Heroku CI you should check this article. There are more examples of parallel testing on various CI providers.

Before Knapsack Pro

After Knapsack Pro - saved 7 minutes per each CI build

See the difference between Regular Mode and Queue Mode for running parallel tests.

Run tests in parallel

Knapsack Pro is a wrapper that allows running tests in the optimal time across parallel CI servers with popular test runners.

Ruby & Ruby on Rails supported test runners:

  • RSpec
  • Minitest
  • Cucumber
  • Test::Unit
  • Spinach
  • Turnip

JavaScript supported test runners:

  • Jest

Custom integration with Knapsack Pro API:

See the installation guide for your test runner.

Enhance your current CI server

You can run tests at full speed and in the shortest time with your current CI provider thanks to built-in integration for:

  • Heroku CI
  • GitHub Actions
  • Gitlab CI
  • Jenkins
  • AWS CodeBuild
  • Google Cloud Build
  • Azure Pipelines
  • Bitbucket Pipelines
  • TeamCity
  • AppVeyor
  • Solano CI
  • GoCD
  • Concourse
  • Jenkins X for Kubernetes
  • Argo CI/CD for Kubernetes
  • Flux CD for Kubernetes
  • CI/CD
  • Tekton Kubernetes-native CI/CD
  • Prow Kubernetes based CI/CD
  • Any other CI server thanks to ENV variables custom setup

See articles + video examples for running tests in parallel on your CI server.

No matter if you are testing your app with databases like Redis, Postgres (PostgreSQL), MySQL, MongoDB etc. Most likely, you can run tests in parallel on your CI, and you can log (logging) tests data into the Knapsack Pro user dashboard about executed tests. When your CI allows you to schedule tests (with cron scheduler like tool), you can also run your tests periodically in the shortest time with parallelisation.

Security of your code
  • We don’t have access to your project source code
  • Knapsack Pro collects only branch name, commit hash, CI total node number, CI index node number, the test file paths like spec/models/user_spec.rb and the time execution of each test file path as a float
  • Enable Ruby test file names encryption before sending data to Knapsack Pro API. Companies from the Health industry find it useful to protect sensitive data even in the test file path or branch name.
  • HTTPS connection to Knapsack Pro API
Run tests always with Fallback Mode

Network issues? Not a problem, run tests anyway! Auto switch to the Fallback Mode to not depend on Knapsack Pro API.

Fallback Mode guarantees each of test files is run at least once across parallel CI nodes. Thanks to that you know if the whole test suite is green or not.

Support for short-lived CI nodes

Knapsack Pro is fault-tolerant and can withstand possible CI instance preemptions (shut down) when you use highly affordable CI nodes like Google Cloud Preemptible VMs or Amazon EC2 Spot Instances.

Thanks to that when you retry a parallel job that was shutdown you can run on it exactly the same set of tests.

See how to enable it for Ruby in Queue Mode and in all JavaScript Knapsack Pro clients. It’s enabled by default in Regular Mode for Ruby.

Track historical CI builds

Knapsack Pro collects tests timing data for each parallel CI build. You can see CI builds for each commit and branch name.

See CI build metrics in user dashboard to detect bottlenecks and find slow test files that can be split into smaller files to better distribute them across parallel jobs.

Retry only failed CI nodes

If your CI provider allows retrying only one of the failed parallel jobs then you can retry failed CI node with the same subset of tests instead of running the whole CI build again thanks to Knapsack Pro remembering what was executed on that parallel job.

Export historical metrics for CI builds

You can export test suite timing data from Knapsack Pro API for your historical CI builds if you like.

Shareable across Heroku apps

Knapsack Pro add-on allows to attach it to multiple Heroku apps so your developers can use it with multiple projects. You need to generate a new API token for each project’s test suite in Knapsack Pro user dashboard.

Region Availability

The available application locations for this add-on are shown below, and depend on whether the application is deployed to a Common Runtime region or Private Space. Learn More

  • Common Runtime
  • Private Spaces
Region Available
United States Available
Europe Available
Region Available Installable in Space
Virginia Available
Oregon Available
Frankfurt Available
Tokyo Available
Sydney Available
Dublin Available

Plans & Pricing

    • Max parallel nodes/jobs per CI build Unlimited
    • Friendly customer support
Install Knapsack Pro
heroku addons:create knapsack-pro

To provision, copy the snippet into your CLI or use the install button above.

Knapsack Pro Documentation