I built siftwise: run only the tests your change needs (open source, self-hosted)
Description and use
siftwise cuts test time by running only affected tests, with safe fallbacks and failure triage.
Problem
CI runs all 18,000 tests for every pull request, causing slow feedback when only a single file changes.
Outcome
siftwise reduces test execution time by running only relevant tests, provides safe fallbacks, and offers failure triage and shadow comparison.
Workflow
- Start the siftwise server with Docker Compose
- Install the siftwise CLI via uv or pip
- Configure SIFTWISE_API_TOKEN and SIFTWISE_SERVER environment variables
- Record a full test run on main to build history
- Make a change and use siftwise select to determine affected tests
- Run the selected tests
- Upload JUnit results to the server
- Review failure triage and shadow compare in CI
Evidence
CI is now running all 18,000 tests again.
siftwise looks at your diff, works out which tests could be affected, runs only those, and falls back to the full suite whenever it isn't sure
You need: Docker (with Docker Compose) for the server, git, uv (or pip / pipx) for the CLI; Python 3.11+
- Record date: 2026-10-21T08:56:09.973Z