Skip to content
This repository has been archived by the owner on Jun 23, 2023. It is now read-only.

Latest commit

 

History

History
110 lines (78 loc) · 3.51 KB

README.md

File metadata and controls

110 lines (78 loc) · 3.51 KB

knapsack_pro ruby gem

Knapsack Pro

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

Requirements

>= Ruby 2.1.0

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:

bundle exec rspec spec

Scripted tests can be found in the Rails App With Knapsack Pro repository.

Publishing

Update the version in lib/knapsack_pro/version.rb and CHANGELOG.md:

git commit -m "Bump version X.X.X"
git push origin master

Create a git tag for the release:

git tag -a vX.X.X -m "Release vX.X.X"
git push --tags

Build the gem and publish it to RubyGems:

gem build knapsack_pro.gemspec
gem push knapsack_pro-X.X.X.gem

Update the latest available gem version in TestSuiteClientVersionChecker for the Knapsack Pro API repository.

Update the knapsack_pro gem version in: