https://github.com/benlorantfy/knapsack-vitest
https://github.com/benlorantfy/knapsack-vitest
Last synced: 8 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/benlorantfy/knapsack-vitest
- Owner: BenLorantfy
- License: mit
- Created: 2024-11-18T05:05:23.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-02T06:27:45.000Z (10 months ago)
- Last Synced: 2025-01-01T11:12:33.363Z (9 months ago)
- Language: JavaScript
- Size: 474 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> [!WARNING]
> This package is deprecated. Please use the offical version [@knapsack-pro/vitest](https://docs.knapsackpro.com/vitest/guide/)# 
Split your vitest test suite across multiple parrallel CI nodes with Knapsack Pro
## Motiviation
[Knapsack Pro](https://knapsackpro.com/) is a tool that helps you run your test suite in parallel across multiple CI nodes. It does this by intelligently splitting your test suite into smaller chunks and running them on different nodes. This is useful for speeding up your CI pipeline and reducing the time it takes to run your tests.However, there is no native integration for Vitest. This package is a custom integration that allows you to use Knapsack Pro with Vitest (following Knapsack Pro's guide [here](https://docs.knapsackpro.com/2020/how-to-build-native-integration-with-knapsack-pro-api-to-run-tests-in-parallel-for-any-test-runner-testing-framework))
## Getting Started
1. Install the package
```
npm install knapsack-vitest
```
2. Update your CI to use a matrix build. See the [example project](.github/workflows/example.yaml) for reference.https://github.com/BenLorantfy/knapsack-vitest/blob/437b95103a00ebc4610b2cd7b19d23e1b9435def/.github/workflows/test.yaml#L9-L13
3. Replace `vitest` with `knapsack-vitest` in your CI config
4. Set the `KNAPSACK_PRO_TEST_SUITE_TOKEN` environment variable to your Knapsack Pro test suite token, and optionally set other environemnt variables as needed. See the [example project](.github/workflows/example.yaml) for reference.https://github.com/BenLorantfy/knapsack-vitest/blob/437b95103a00ebc4610b2cd7b19d23e1b9435def/.github/workflows/test.yaml#L36-L45
> [!NOTE]
> The environment variable is called `KNAPSACK_PRO_TEST_SUITE_TOKEN`, not `KNAPSACK_PRO_TEST_SUITE_TOKEN_JEST`