Test quarantine

Move a known flaky test into a visible non-blocking lane so it stops holding up merges while someone fixes it.

stop one flaky test blocking every mergemove unreliable tests out of the main CI jobrun the broken test but don't fail the buildskip the test but keep track of itisolate the random failuresquarentine testthat one test always fails and we just ignore itput flaky tests in their own lane

What it is

Test quarantine removes a known-unreliable test from the merge-blocking suite without pretending it is healthy. The test still runs in a separate lane, but its failure is reported rather than allowed to veto every pull request. Martin Fowler described the move in 'Eradicating Non-Determinism in Tests': it is a circuit breaker for team productivity while someone fixes the underlying flake.

Use it when a confirmed flaky test is causing repeated false alarms and cannot be repaired immediately. Tag it, attach an owner and issue, record the reason, and give the quarantine an expiry date. Keep its traces and failure rate visible so the repair has evidence behind it.

Gotcha: quarantine easily becomes a graveyard. A skipped test produces no signal, and a forever-nonblocking job slowly turns critical coverage into decoration. Review the list on a schedule, fail when expired quarantines remain, and restore each test to the blocking suite as soon as it is deterministic.

Ask AI for it

Quarantine the known flaky Playwright tests with the @quarantine tag. Run the merge-blocking job with --grep-invert @quarantine and a separate GitHub Actions job with --grep @quarantine and continue-on-error: true. Upload traces and the HTML report from that job, require an issue URL, owner, reason, and ISO expiry date beside every tag, and add a CI check that fails when a quarantine is past its expiry.

You might have meant

flaky testtest retrytest suiteregression test