ENGINEERING

Auto-Skip Quarantined Flaky Tests on GitLab MRs

When a GitLab pipeline fails only on tests already known to be flaky, the bot marks those as skipped and posts a green-light note on the merge request.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab pipeline failedGitLabGitLab
  • ActionPull failed tests from JUnit reportGitLabGitLab
  • LogicSplit known-flaky vs genuine failures
  • ActionFile untracked flaky tests in LinearLinearLinear
  • OutputPost advisory-pass or keep MR blockedGitLabGitLab

What it does

This workflow unblocks merge requests that fail solely because of tests already on the flaky list. It cross-references the failing tests in a GitLab pipeline against a registry of known-flaky tests, skips (quarantines) matches, and tells reviewers the failure is non-blocking. Any flaky test not yet tracked is filed as a Linear issue for follow-up.

When to use it

Use this when known-flaky tests repeatedly block otherwise-clean MRs and developers waste time re-running pipelines. It keeps real failures blocking while letting quarantined ones pass.

How it works

  1. 1A GitLab pipeline `failed` event triggers the workflow.
  2. 2The bot pulls the failed test names from the pipeline's JUnit report via the GitLab API.
  3. 3A decision step splits failures into known-flaky (in the registry) versus genuine failures.
  4. 4If every failure is known-flaky, it posts a note on the merge request marking the pipeline as advisory-pass; if any genuine failure exists, it leaves the MR red.
  5. 5Flaky tests missing from the tracker get a Linear issue created with the pipeline link and occurrence timestamp.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect LinearIssues, projects, cycles, triage.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    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.