# Override defaults for codecov.io checks.
#
# Documentation is at https://docs.codecov.io/docs/codecov-yaml;
# reference is at https://docs.codecov.io/docs/codecovyml-reference.
#
# To validate this file, use:
#
#   curl --data-binary @.codecov.yml https://codecov.io/validate
#
# Codecov's defaults seem to leave red marks in GitHub CI checks in a
# rather arbitrary manner, probably because of non-determinism in
# coverage (see https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2891)
# and maybe because computers are bad with floating point numbers.

# Allow coverage percentage a precision of zero decimals, and round to
# the nearest number (for example, 89.957 to to 90; 89.497 to 89%).
# Coverage above 90% is good, below 80% is bad.
coverage:
  round: nearest
  range: 80..90
  precision: 0

  # Aim for a target test coverage of 90% in codecov/project check (do
  # not allow project coverage to drop below that), and allow
  # codecov/patch a threshold of 1% (allow coverage in changes to drop
  # by that much, and no less).  That should be good enough for us.
  status:
    project:
      default:
        target: 90%
        threshold: 1%
    patch:
      default:
        threshold: 1%