Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/KnapsackPro/knapsack_pro-ruby
Knapsack Pro gem splits tests across parallel CI nodes and makes sure that tests run in optimal time
https://github.com/KnapsackPro/knapsack_pro-ruby
auto-balancing buildkite ci-server circle-ci cucumber minitest parallelism rspec ruby semaphore-ci snap-ci spinach testing-tools travis-ci turnip
Last synced: 3 months ago
JSON representation
Knapsack Pro gem splits tests across parallel CI nodes and makes sure that tests run in optimal time
- Host: GitHub
- URL: https://github.com/KnapsackPro/knapsack_pro-ruby
- Owner: KnapsackPro
- License: mit
- Created: 2015-04-03T18:09:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-06-27T13:00:35.000Z (4 months ago)
- Last Synced: 2024-08-02T01:49:23.681Z (3 months ago)
- Topics: auto-balancing, buildkite, ci-server, circle-ci, cucumber, minitest, parallelism, rspec, ruby, semaphore-ci, snap-ci, spinach, testing-tools, travis-ci, turnip
- Language: Ruby
- Homepage: https://knapsackpro.com
- Size: 1.63 MB
- Stars: 131
- Watchers: 8
- Forks: 27
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# `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 problemsThe `knapsack_pro` gem supports all CIs and the following test runners:
- RSpec
- Cucumber
- Minitest
- test-unit
- Spinach
- Turnip## Installation
The [Installation Guide](https://docs.knapsackpro.com/knapsack_pro-ruby/guide/?utm_source=github&utm_medium=readme&utm_campaign=knapsack_pro-ruby_gem&utm_content=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](CHANGELOG.md) before updating gem with:
```bash
bundle update knapsack_pro
```## Contributing
### Testing
RSpec:
```bash
bin/test
```Scripted tests can be found in the [Rails App With Knapsack Pro repository](https://github.com/KnapsackPro/rails-app-with-knapsack_pro/blob/master/bin/knapsack_pro_all.rb).
### Publishing
1. Move the changes listed in the `UNRELEASED` section of the `CHANGELOG.md` to the proper version
2. Update the gem version in `lib/knapsack_pro/version.rb`
3. `git commit -am "Bump version x.x.x"`
4. Build, tag, push, release: `bundle exec rake release`
5. Update the latest available gem version in `TestSuiteClientVersionChecker` for the Knapsack Pro API repository.
6. Update the `knapsack_pro` gem version in:
- [Rails App With Knapsack Pro repository](https://github.com/KnapsackPro/rails-app-with-knapsack_pro)
- Knapsack Pro API internal repository