codecov:
  notify:
    require_ci_to_pass: true
    # wait until at all test runners have uploaded a report (see the test job's build matrix)
    # otherwise, coverage failures may be shown while some reports are still missing
    after_n_builds: 18
comment:
  # this also configures the layout of PR check summaries / comments
  layout: "reach, diff, flags, files"
  # don't ever let the codecov bot comment on PRs
  after_n_builds: 999999999
github_checks:
  annotations: false
coverage:
  range: "50...100"
  precision: 2
  round: down
  status:
    # coverage data of unchanged code (not necessary to have this as another PR status check)
    changes: false
    # coverage data of changed code
    patch:
      default:
        # always succeed
        target: 0
    # overall coverage data, split up by path
    project:
      # we can't disable the overall default project, because only this will have PR check summaries / comments
      # this replaces the PR comment
      default:
        target: 50
      streamlink:
        threshold: 1
        paths:
          - "src/streamlink/"
          - "!src/streamlink/plugins/"
      streamlink_cli:
        threshold: 1
        paths:
          - "src/streamlink_cli/"
      plugins:
        # don't set a threshold on plugins
        target: 30
        paths:
          - "src/streamlink/plugins/"
      tests:
        # tests should always be fully covered
        target: 100
        paths:
          - "tests/"
      build_backend:
        # build_backend should always be fully covered
        target: 100
        paths:
          - "build_backend/"
