ENGINEERING

Flaky Test Quarantine Bot for GitHub Actions

Watches GitHub Actions CI runs, detects tests that fail then pass on retry, auto-tags them as flaky, and opens a tracking issue with the full failure history.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitHub Actions workflow_run completedGitHubGitHub
  • ActionFetch per-attempt job and test resultsGitHubGitHub
  • LogicClassify: failed-then-passed = flaky
  • ActionFind existing issue by test fingerprintGitHubGitHub
  • OutputCreate or update tracking issue with run historyGitHubGitHub

What it does

This workflow listens for completed GitHub Actions CI runs and identifies tests that failed on a first attempt but passed when the job was retried — the classic signature of a flaky test. It adds a `flaky` annotation, opens or updates a GitHub tracking issue, and records each occurrence so engineers can see how often the test misbehaves over time.

When to use it

Reach for this when your team retries failing CI jobs and intermittent tests keep eroding trust in the pipeline. It separates genuine regressions from noise so a red build means something again.

How it works

  1. 1A GitHub `workflow_run` event fires when a CI run finishes.
  2. 2The bot fetches the run's jobs and per-attempt test results from the GitHub API.
  3. 3A decision step compares attempts: a test that failed then passed on rerun is classified as flaky; consistently failing tests are ignored as real failures.
  4. 4For each flaky test it searches existing issues by a stable fingerprint, then creates a new tracking issue or appends a dated run-history entry to the matching one.
  5. 5It labels the issue `flaky-test` and posts the updated count, giving the team a single source of truth per flaky test.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitHubRepos, issues, pull requests, actions.
  2. 2
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  3. 3
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  4. 4
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.