-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathcodecov.yml
More file actions
102 lines (97 loc) · 2.56 KB
/
Copy pathcodecov.yml
File metadata and controls
102 lines (97 loc) · 2.56 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
codecov:
require_ci_to_pass: true
notify:
# Each CI run uploads two coverage reports for the same commit:
# `cpp` (gcovr) and `python` (pytest-cov). Without this setting,
# Codecov posts a status / PR comment the moment the first upload
# arrives, then revises it when the second one lands -- a confusing
# double-update for reviewers. `after_n_builds: 2` coalesces them
# into a single notification once both flags are in. This is about
# upload ordering within a single CI run, not historical data;
# bump it if more upload jobs are added (e.g. a CUDA flag).
after_n_builds: 2
wait_for_ci: true
coverage:
precision: 2
round: down
range: "60...90"
status:
project:
default:
target: auto
threshold: 1%
informational: false
cpp:
target: auto
threshold: 1%
flags:
- cpp
python:
target: auto
threshold: 1%
flags:
- python
patch:
default:
target: auto
threshold: 1%
flags:
# Two upload flags, one per coverage XML produced by CI:
# cpp <- gcovr report over src/, include/, pybind/
# python <- pytest-cov report over cytnx/
# pybind/ lives under `cpp` because pybind/*.cpp are C++ sources that
# compile into the cytnx .so; only gcovr can measure them.
cpp:
paths:
- src/
- include/
- pybind/
carryforward: true
python:
paths:
- cytnx/
carryforward: true
component_management:
# Components are a UI breakdown in the PR comment; they don't drive their
# own status checks here (the cpp/python flag statuses already do).
# Splitting the C++ side into "backend" vs "bindings" keeps the binding
# layer visible without inflating the headline backend number.
individual_components:
- component_id: cpp_backend
name: C++ backend
paths:
- src/
- include/
flag_regexes:
- cpp
- component_id: python_bindings
name: Python bindings
paths:
- pybind/
flag_regexes:
- cpp
- component_id: python_package
name: Python package
paths:
- cytnx/
flag_regexes:
- python
comment:
layout: "header, diff, flags, components, files, footer"
behavior: default
require_changes: false
require_base: false
require_head: true
ignore:
- "tests/**"
- "benchmarks/**"
- "bm_tests/**"
- "example/**"
- "docs/**"
- "doxygen_conf/**"
- "thirdparty/**"
- "cmake_modules/**"
- "conda_build/**"
- "build/**"
- "**/_deps/**"
- "**/*.cu.o"