-
Notifications
You must be signed in to change notification settings - Fork 767
Expand file tree
/
Copy pathcodecov.yml
More file actions
69 lines (63 loc) · 2.24 KB
/
codecov.yml
File metadata and controls
69 lines (63 loc) · 2.24 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Codecov configuration for Terminal.Gui
# Documentation: https://docs.codecov.com/docs/codecov-yaml
# Coverage targets and thresholds
coverage:
precision: 2
round: down
range: "60...90" # Yellow between 60-90%, green above 90%
status:
# Overall project coverage
project:
default:
target: 75% # Minimum target coverage
threshold: 1% # Allow 1% decrease without failing
base: auto # Compare against base branch (develop)
if_ci_failed: error # Fail if CI fails
# Only measure Terminal.Gui library
paths:
- "Terminal.Gui/"
branches:
- develop
- main
# Per-patch (PR) coverage
patch:
default:
target: 70% # New code should have 70%+ coverage
threshold: 5% # Allow 5% variance
base: auto
if_ci_failed: error
# Only measure Terminal.Gui library
paths:
- "Terminal.Gui/"
# Comment configuration for PRs
comment:
layout: "diff, files, footer"
behavior: default # Update existing comment
require_changes: false # Always comment
require_base: true # Require base coverage to compare
require_head: true # Require head coverage
# Flag-based coverage grouping (matches your workflow flags)
flags:
unittests-nonparallel:
carryforward: false # Don't carry forward if missing
paths:
- "Terminal.Gui/" # Only Terminal.Gui library
unittests-parallel:
carryforward: false
paths:
- "Terminal.Gui/" # Only Terminal.Gui library
integrationtests:
carryforward: false
paths:
- "Terminal.Gui/" # Only Terminal.Gui library
# Files and paths to ignore (belt-and-suspenders approach)
ignore:
- "Examples/**" # Example projects (no trailing /*)
- "Tests/**" # Test projects themselves
- "UnitTests/**" # Legacy test location
- "docfx/**" # Documentation
- "Scripts/**" # PowerShell scripts
- "**/*.Designer.cs" # Auto-generated files
- "**/obj/**" # Build artifacts
- "**/bin/**" # Build artifacts
- "**/*.AssemblyInfo.cs" # Assembly info files