EVERYTHING XIAOMI
Get listed

Flake

Flake is a free, cross-platform Go command-line tool for finding, diagnosing and replaying flaky tests.

Place
#13 of 21
Score
5.5
Flake's website

What Flake is

Flake is a free, cross-platform Go command-line tool for finding, diagnosing and replaying flaky tests. It supports pytest, Jest and Vitest, repeatedly running test suites under controlled variations such as test order, seeds, worker count, timezone, locale and sequential or parallel execution. Flake calculates failure rates and groups failures by normalized signatures. For ordering failures, it uses delta debugging to reduce the preceding test sequence and check a minimized reproduction. Each incident stores a run specification that can be rebuilt with `flake replay <id>`. A GitHub Action can write a Markdown job summary, annotate flaky test files and upload JSON, Markdown or SARIF reports. Flake uses test runners and plugins already in a project rather than installing them. It keeps state in a local SQLite database and says it does not upload source or test output. Likely secrets are redacted before storage, and secret-looking environment variable names are rejected from the allowlist. The README says there is no web dashboard, server or cloud service. With Jest, it cannot force an exact cross-file test order because Jest selects that order itself.

Good

  • Supports pytest, Jest and Vitest.
  • Stores incident run specifications for replay.
  • Runs locally without uploading source or test output.
  • GitHub Action can publish reports and annotations.

Watch out

  • No web dashboard, server or cloud service.
  • Cannot force exact cross-file ordering with Jest.
  • Does not install project dependencies or plugins.

Who it suits

Flake suits developers using pytest, Jest or Vitest who want to identify and reproduce intermittent test failures from the command line. Its local storage and lack of a cloud service may fit teams seeking local execution.

Verdict

Flake combines failure grouping, minimized reproductions and saved replay commands for supported test runners. Its local command-line approach has limits, including Jest’s control over cross-file ordering.

The facts

Each one read from Flake's own pages, with the date it was checked.

What it does

Availability
The README describes Flake as a cross-platform Go CLI and provides a `go install` command and released binaries for OS and architecture combinations.checked 30 Sep 2026
Controlled variations
Runs can vary test order, seeds, sequential or parallel execution, worker count, timezone, locale, temporary-directory handling, and allowed environment variables.checked 30 Sep 2026
Dependencies
Flake uses test runners and plugins already installed in the project and does not install dependencies or plugins.checked 30 Sep 2026
Detection
It computes failure rates and normalizes output into stable signatures to group failures into incidents.checked 30 Sep 2026
Detection and replay
Flake computes failure rates, minimizes reproduction conditions, reports suspected causes from observed evidence, and saves replay commands.checked 30 Sep 2026
Diagnosis
For ordering failures, Flake uses delta debugging to reduce the preceding test sequence and verify a minimized reproduction.checked 30 Sep 2026
Hosting model
The README states that Flake has no web dashboard, server, or cloud service.checked 30 Sep 2026
Integrations
Flake is available as a GitHub Action that can write a Markdown job summary, annotate flaky test files, and upload JSON, Markdown, or SARIF reports as an artifact.checked 30 Sep 2026
License
The repository lists the MIT license.checked 30 Sep 2026
Limitations
With Jest, Flake cannot force an exact cross-file test order because Jest's own sequencer chooses it.checked 30 Sep 2026
Local execution
Flake is a cross-platform Go command-line tool, with released binaries available for operating systems and architectures on its releases page.checked 30 Sep 2026
Privacy
The README says Flake does not upload source or test output, and stores its state in a local SQLite database in the OS application-data directory.checked 30 Sep 2026
Purpose
Flake detects, diagnoses, and replays flaky tests by repeatedly running test suites under controlled variations.checked 30 Sep 2026
Replay
Each incident stores a run specification, and `flake replay <id>` rebuilds the recorded invocation.checked 30 Sep 2026
Secret handling
Flake redacts likely-secret values before storing them and rejects secret-looking variable names in the environment allowlist.checked 30 Sep 2026
Security controls
Flake rejects secret-looking variable names from its environment allowlist and does not vary or store likely-secret variables by default.checked 30 Sep 2026
Supported runners
It supports pytest, Jest, and Vitest test suites.checked 30 Sep 2026
Supported test runners
Flake supports pytest, Jest, and Vitest.checked 30 Sep 2026

Alternatives to Flake

All alternatives
  1. 1TestMu AI logo

    TestMu AI

    Free planAndroidiOSWebAPI
    8.3From $17 a month
  2. 2Qualflare logo

    Qualflare

    Free planAndroidiOSWebAPI
    8.2From $16 a month
  3. 3BuildPulse logo

    BuildPulse

    Free planWebAPILinuxmacOS
    7.9Free plan
  4. 4Buildkite logo

    Buildkite

    Free planWebAPIExtensionLinux
    7.3From $30 a month
  5. 5Flakiness.io logo

    Flakiness.io

    Free planWebSelf-hosted
    6.9From $49 a month
  6. 6Mergify logo

    Mergify

    Free planWebAPISelf-hosted
    6.8From $21 a month