sinter
New: automatic reruns and pull request comments

Flaky tests, flagged before they merge.

When CI goes red, Sinter reruns the failed jobs once, checks every failing test against your history, and leaves a comment on the pull request that says which failures are flakes and which ones are yours.

Elixir and ExUnit · GitHub Actions · private alpha
sinter bot commented 2 minutes ago

Sinter: 2 of 3 failing tests are flaky

Latest commit a41c9e2.

Flaky on this commit (1)

• dedupes rows across partitions in ImportTest: failed, then passed on Sinter's rerun

Known flaky (1)

• parses 13F with missing CUSIP in ParserTest: flaked on 6 other commits in the last 30 days

New failures (1)

• rejects expired invitations in InvitationTest

▸ Failure message
Flaky tests of this repository in Sinter →

What happens when CI goes red

From a red X to an answer, without anyone clicking “Re-run”.

  1. 1

    A pull request job fails

    Temper, an ExUnit formatter, records every test outcome in CI, and mix temper.push sends it to Sinter. Sinter never runs your tests and never sees your code.

    CI / test (partition 2) Failing after 6m
    CI / test (partition 1) Successful in 5m
  2. 2

    Sinter reruns the failed jobs, once

    Only the failed jobs, only on the first attempt, and only when tests actually failed. A compile error or a linter is not something a rerun can explain, so Sinter leaves those alone. Repository owners turn it on.

    Sinter Rerunning failed jobs to confirm
    CI / test (partition 2) Attempt #2 in progress
  3. 3

    Every failure gets a verdict

    Passed on the rerun: flaky here. Failed again: real. Flaked on other commits in the last 30 days: known flaky, even if this branch never touched it. Anything else is new, and probably yours.

    Flaky on this commit Known flaky Failed again New failure
  4. 4

    The pull request says so, before merge

    A neutral “Sinter” check on the head commit, plus an optional comment with each test, its evidence and its failure message. Both update in place as workflows report.

    Sinter All 2 failing tests are flaky

    Every failure is a flaky test, so re-running the failed jobs is safe.

The history behind every verdict

See how flaky your suite is, and what to fix first.

The dashboard Sinter started with: every run, every retry, every partition, per repository and across the org.

77% green runs, last 14 days
31 runs broken by flakes
9 real failures
14 days ago Today
green broken by flakes real failures
Fix these first
ImportTest · dedupes rows across partitions 14 runs
ParserTest · parses 13F with missing CUSIP 8 runs
WebhookTest · retries on 502 5 runs
NotifierTest · sends digest at midnight UTC 4 runs

In private alpha with a few Elixir teams.

GitHub Actions first. Leave an address and you will hear back personally.

No list, no newsletter. One email when your invite is ready.