Your CI is
lying to you.
FlakeKill finds the tests that fail for no reason, quarantines them automatically, and gives you back a red that actually means broken.
A row of ten test-run cells for auth.spec.ts › login on one unchanged commit — six pass, four fail, with no code change between them.
10 runs · same commit · 4 failed
- PASS
- FAIL
Flicker paused. Same commit, four different answers — that’s the flake.
Kills flakes. Doesn’t just report them.
Your CI stops lying within one run of detection — not after a week of manual triage.
We watch the runs, not one bad day. If a test only fails when the code didn’t change, that’s not a bug — that’s a liar. We quarantine liars. A test that actually caught something real keeps failing, keeps blocking, stays honest.
QUARANTINED —
Pulled from the blocking set · still running · revert anytime
- PASS — passed on this run
- FAIL — failed on this run
- QUARANTINED — pulled out of the blocking set, still tracked
CI status: RED — but nothing here is broken. CI status: GREEN — and this time it means it.
Motion is off. The pattern holds: same commit, different results. Press Quarantine the liar to see the fix.
One integration. Minutes, not a sprint.
You connect once. You don’t rewrite your pipeline, and you don’t set aside a sprint to try it.
Four connected steps drawn as short run-cell ribbons, from connecting a CI to a ranked list of flaky tests.
-
01
Connect your CI
One integration with GitHub Actions, GitLab CI, and others. No pipeline rewrite.
-
02
FlakeKill watches your runs
We record how each test behaves across real runs — pass, fail, and the commit underneath.
-
03
Detects and quarantines automatically
A test that fails on unchanged code gets pulled from the blocking set within one run of detection.
-
04
You see what to fix first
A dashboard ranks every flaky test by impact, so triage stops being a guessing game.
That’s the whole setup. Red means broken again.
Quarantine is not a cover-up.
Quarantine doesn’t hide failures — the test keeps running and stays tracked. It just stops a known liar from blocking your pipeline. You see every call we make. You revert in one click.
No. A quarantined test keeps running and stays tracked — it just stops blocking your pipeline. FlakeKill only quarantines tests that fail on unchanged code. A test that fails because something is actually broken keeps failing, and keeps blocking.
FlakeKill works from your CI test-run history — which tests ran, passed, failed, and on which commit. The exact scope of what it reads is being finalized.
A test that fails on a commit where the code didn’t change is treated as a liar and quarantined within one run of detection — never on a single bad day alone. The exact statistical threshold, and whether you can tune it, is being finalized.
One click. Every quarantine is visible with its reason and history in the dashboard. Fix the test, click revert, and it goes straight back into the blocking set. Nothing about it is a black box.
Your dashboard, ranked by what to fix first.
The view once quarantine kicks in: every flaky test, its history, how often it lies.
A dashboard of five CI tests ranked by flakiness: two flaky tests already quarantined — one at 40% and flagged fix first, one at 35% — and three stable at 0%, each with a run-history sparkline.
% of runs that failed on unchanged code