-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodecov.yml
More file actions
40 lines (38 loc) · 1.93 KB
/
Copy pathcodecov.yml
File metadata and controls
40 lines (38 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Codecov is a reporting tool here, not a gate.
#
# Both statuses are informational: they post the number and the delta on a pull
# request and never turn a check red. A coverage threshold that blocks a merge
# mostly teaches people to write tests that move the number rather than tests
# that catch bugs, and the checks that genuinely must pass — build, vet, lint,
# `go test ./...`, govulncheck — already do.
#
# Flip informational to false on either status to make it binding — but for
# patch, see the decision note below: the branch protection ruleset must also
# have codecov/patch as a required check, or it will stay advisory.
coverage:
status:
project:
default:
target: auto # compare against the parent commit, not a fixed bar
threshold: 1% # ignore the sub-1% drift of an ordinary refactor
informational: true
# Patch gate decision, 2026-08-14: deliberately left informational.
#
# Only one pull request has merged since Codecov was activated. This sample is
# too small to decide whether the 80% patch target is realistic or would block
# legitimate work. Once approximately five PRs have merged with Codecov active,
# compare their patch coverage against the target and decide. If the evidence
# supports gating, flip informational to false. Do not forget: changing this
# flag alone does not make the check binding. The codecov/patch status must
# also be added to the branch protection ruleset as a required check.
patch:
default:
target: 80% # new code is where a target is actually useful
informational: true
comment:
layout: "condensed_header, diff, flags, components"
require_changes: true # stay quiet on pull requests that move nothing
# The profile is produced with -coverpkg=./..., so every non-test file in the
# module already appears whether or not its own package has a test binary.
ignore:
- "**/*_test.go"