Split your tests.
Speed up your pipeline.

ShardSplitter intelligently balances your test suite across multiple CI runners, reducing build times by up to 70%.

FAQs

General Questions

What is ShardSplitter?

Plus icon

ShardSplitter is an intelligent test distribution service that optimizes your CI/CD pipeline by splitting tests into balanced shards. Using machine learning and historical test data, it reduces test execution time, minimizes CI/CD costs, and increases developer productivity.

What problem does ShardSplitter solve?

Plus icon

As codebases grow, test suites become larger and slower, creating several challenges:

  • Long-running tests delay feedback to developers
  • CI/CD costs increase as tests take longer to run
  • Unbalanced test distribution leads to wasted resources
  • Manual test splitting is time-consuming and error-prone

ShardSplitter solves these problems by automatically analyzing your test history and creating optimally balanced test shards.

How does ShardSplitter work?

Plus icon
  1. Collect test data: ShardSplitter stores and analyzes your test execution history
  2. Learn patterns: Our algorithms learn which tests take longer to run and how they perform over time
  3. Create optimal shards: When you run your CI pipeline, ShardSplitter divides your tests into balanced shards based on historical execution times
  4. Continuous improvement: The system continuously adapts as your test suite evolves

Technical Questions

What CI/CD platforms does ShardSplitter support?

Plus icon

ShardSplitter works with any CI/CD platform, including:

  • GitHub Actions
  • CircleCI
  • Jenkins
  • GitLab CI
  • Travis CI
  • Azure DevOps
  • Bitbucket Pipelines

What programming languages and test frameworks are supported?

Plus icon

ShardSplitter is language and framework agnostic. If your tests can report execution time, ShardSplitter can optimize them. We've successfully used it with:

  • JavaScript/TypeScript (Jest, Mocha, Cypress)
  • Python (pytest, unittest)
  • Ruby (RSpec, Minitest)
  • Java (JUnit, TestNG)
  • C# (.NET Test, NUnit, xUnit)
  • And many more!

How do I integrate ShardSplitter into my workflow?

Plus icon

Integration is simple:

  1. Sign up for an account and get your API key
  2. Add our lightweight client to your CI configuration
  3. Submit test results using our API
  4. Use our shard allocation API in your CI workflow to distribute test

We provide official client libraries for popular languages and detailed documentation with examples for all major CI platforms.

Is ShardSplitter secure?

Plus icon

Yes! We take security seriously:

  • All data is encrypted in transit and at rest
  • We do not store your test code, only metadata about test execution
  • API access is secured using API keys with fine-grained permissions
  • Regular security audits ensure your data remains safe