28 lines
1.7 KiB
YAML
28 lines
1.7 KiB
YAML
# Flaky-test quarantine registry — feature-ci-quality-gates-contract §4 (D7 / D9).
|
|
#
|
|
# This branch is the flaky-quarantine SSOT. A test that flakes may be tagged with JUnit's built-in
|
|
# @Tag("quarantine") so it stops blocking the release gate (src/build.gradle: the main `test` task
|
|
# runs excludeTags 'quarantine'; the bucket runs separately via `./gradlew quarantineTest`,
|
|
# non-blocking). Quarantine is a TEMPORARY escape, never a parking lot — every quarantined test MUST
|
|
# be listed here and MUST leave quarantine within 14 days.
|
|
#
|
|
# The `verifyQuarantineSunset` Gradle gate (wired into `check`) enforces, on every build:
|
|
# - schema — each entry has test / quarantined_since / reason / tracking_issue;
|
|
# - sunset — quarantined_since is within 14 days (older → build fails);
|
|
# - drift — every @Tag("quarantine") test in src/**/test is registered here (and vice-versa,
|
|
# a registered test should carry the tag).
|
|
#
|
|
# This file lives at the repo ROOT (not docs/, which is gitignored) so it is committed and readable
|
|
# by CI — same rationale as .trivyignore.yaml. CODEOWNERS governs merge-time approval of changes.
|
|
#
|
|
# Schema (one list entry per quarantined test):
|
|
#
|
|
# quarantined:
|
|
# - test: "dev.caskeleton.bootstrap.contract.SomeFlakyContractTest" # FQN, optionally "...#method"
|
|
# quarantined_since: "2026-06-20" # ISO date; 14-day sunset
|
|
# reason: "intermittent timeout under shared CI load — suspected fixed-port bind race"
|
|
# tracking_issue: "https://github.com/<org>/<repo>/issues/123"
|
|
#
|
|
# The skeleton ships with an EMPTY bucket: no flaky tests are quarantined.
|
|
quarantined: []
|