This add-on is operated by Knapsack Sp. z o.o.
Run your 1-hour test suite in 2 minutes with optimal parallelization.
Last updated January 26, 2024
Table of Contents
Knapsack Pro wraps your current test runner(s) and works with your existing CI infrastructure to parallelize tests optimally:
- Dynamically splits your tests based on up-to-date test execution data
- Is designed from the ground up for CI and supports all of them
- Tracks your CI builds to detect bottlenecks
- Does not have access to your source code and collects minimal test data (with opt-in encryption)
- Enables you to export historical metrics about your CI builds
- Supports out-of-the-box any Ruby test runners, Cypress, Jest (and provides both SDK and API to integrate with any other language)
- Replaces local dependencies like Redis with an API and runs your tests regardless of network problems
Provisioning the add-on
Knapsack Pro can be attached to a Heroku application using the Heroku CLI:
$ heroku addons:create knapsack-pro --app YOUR_HEROKU_APP_NAME
Knapsack Pro dashboard
The Knapsack Pro dashboard can be accessed via the CLI:
$ heroku addons:open knapsack-pro --app YOUR_HEROKU_APP_NAME
or by visiting the Heroku dashboard, selecting the application, and then selecting Knapsack Pro from the add-ons menu.
The list of all plans can be found here.
Migrating between plans
Plans migration is easy and instant: it requires no code change and does not affect your existing collected test timing data.
You can use the command below to migrate to a new plan:
# Upgrade to a parallel-10 plan
$ heroku addons:upgrade knapsack-pro:parallel-10 --app YOUR_HEROKU_APP_NAME
Attaching the add-on to another app
The Knapsack Pro add-on is shareable across Heroku apps. This can be useful, for instance, when you have staging and production Heroku apps.
You can provision the Knapsack Pro add-on for the production application and later attach it to the staging application, so all developers can easily access the add-on from the Heroku dashboard.
Remember to generate a new API token for each project in the Knapsack Pro dashboard.
# Copy the add-on name for Knapsack Pro
$ heroku addons --app YOUR_HEROKU_APP_NAME
# Replace knapsack-pro-production-infinite-32142 with the name copied above
$ heroku addons:attach knapsack-pro-production-infinite-32142 --app YOUR_HEROKU_APP_NAME
All Knapsack Pro Heroku add-on support and runtime issues should be submitted via the Heroku Support channels.
Also, you can send us your suggestions and feedback at knapsackpro.com.
Removing the add-on
Knapsack Pro can be removed using the Heroku CLI.
Removing the add-on will mark your organization account in Knapsack Pro as de-provisioned (you will not be able to use the API tokens to split tests). Within 30 days your collected test timing data will be destroyed.
$ heroku addons:destroy knapsack-pro --app YOUR_HEROKU_APP_NAME