knapsack_pro
ruby gem
Speed up your tests
Run your 1-hour test suite in 2 minutes with optimal parallelisation on your existing CI infrastructure
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
The knapsack_pro
gem supports all CIs and the following test runners:
- RSpec
- Cucumber
- Minitest
- test-unit
- Spinach
- Turnip
Installation
The Installation Guide will ask you a few questions and generate instruction steps for your project:
Upgrade
Knapsack Pro follows semantic versioning, but make sure to check the changelog before updating gem with:
bundle update knapsack_pro
Contributing
Testing
RSpec:
bin/test
Scripted tests can be found in the Rails App With Knapsack Pro repository.
Publishing
-
Move the changes listed in the
UNRELEASED
section of theCHANGELOG.md
to the proper version -
Update the gem version in
lib/knapsack_pro/version.rb
-
git commit -am "Bump version x.x.x"
-
Build, tag, push, release:
bundle exec rake release
-
Update the latest available gem version in
TestSuiteClientVersionChecker
for the Knapsack Pro API repository. -
Update the
knapsack_pro
gem version in:
- Rails App With Knapsack Pro repository
- Knapsack Pro API internal repository