Skip to content

0.1.23

Choose a tag to compare

@TimoKramer TimoKramer released this 15 Aug 06:01
1380d93
ci: make the index-mutants gate robust to a dep/compile flake (#21)

A docs-only PR turned the `mutants` job red. Root cause: on a dependency-cache
MISS the parallel CI jobs each cold-resolve from the network, and `mutants`
drew a transient malformed-POM response (aether validateEffectiveDependency),
so the classpath never built and `clojure -M:test` never ran. bin/index-mutants
derives coverage by grepping the suite output for 'N failures'; with no output
it read ${n:-0}=0 and reported all four index paths as 'no test depends on it'
-- a real coverage gate turned into a FALSE coverage regression.

Two fixes:

- bin/index-mutants: a run_suite helper that returns NORUN when the suite emits
  no failures line at all (compile/dep error, OOM, timeout), distinct from
  '0 failures'. A baseline runs the UNMUTATED suite first and aborts loudly with
  the environment error if it did not run or is not green -- so a broken
  environment can never again masquerade as missing coverage. Verified locally:
  NORUN -> clear abort; green suite -> 33/2/8/2, ok.

- .circleci/config.yml: restore-deps now resolves once with a 3x retry, so a
  momentary repo/POM hiccup on a cold cache does not fail the job.

No behaviour change to the format or the library.