-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathcodecov.yml
More file actions
146 lines (142 loc) · 4.74 KB
/
Copy pathcodecov.yml
File metadata and controls
146 lines (142 loc) · 4.74 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# Post a summary on every PR, broken down by flag (module) and component so all three of
# common / skyvault / flowvault are visible at a glance. require_changes: false keeps the
# comment on PRs that touch only one module, so the other two still report their coverage.
comment:
layout: "header, diff, flags, components, files, footer"
behavior: default
require_changes: false
# A project + patch status per module, so each of the three gets its own PR check rather
# than being averaged into one repo-wide number. informational keeps them advisory - they
# report the delta without blocking the merge.
coverage:
status:
project:
default:
target: auto
threshold: 1%
common:
flags:
- common
target: auto
threshold: 1%
informational: true
skyvault:
flags:
- skyvault
target: auto
threshold: 1%
informational: true
flowvault:
flags:
- flowvault
target: auto
threshold: 1%
informational: true
patch:
default:
target: auto
threshold: 1%
informational: true
# One flag per Maven module. Each module is uploaded separately in CI so its coverage is
# reported on its own rather than merged into a single repo-wide number. carryforward keeps
# the last known coverage for a module when a run does not upload it (e.g. a partial build).
flags:
common:
paths:
- common/src/main/java/
carryforward: true
skyvault:
paths:
- skyvault/src/main/java/
carryforward: true
flowvault:
paths:
- flowvault/src/main/java/
carryforward: true
# Components give two independent breakdowns of the same coverage data:
# - one per module, so a drop can be traced to common / skyvault / flowvault
# - one per package, so a drop can be traced to controllers / data / utils / ...
#
# Package paths are prefixed with **/ (quoted - a bare leading * is a YAML alias) so they
# match every module. All three modules share the com.skyflow package name, so the JaCoCo
# reports are rewritten in CI to carry their module's source root; without that, a path like
# com/skyflow/config/VaultConfig.java is ambiguous and Codecov attributes it to a single
# module while the others report no data. See the "Qualify JaCoCo report paths" CI step.
component_management:
default_rules:
statuses:
- type: project
target: auto
individual_components:
# -- per module ------------------------------------------------------------
- component_id: module_common
name: "Module: common"
paths:
- "common/src/main/java/**"
- component_id: module_skyvault
name: "Module: skyvault"
paths:
- "skyvault/src/main/java/**"
- component_id: module_flowvault
name: "Module: flowvault"
paths:
- "flowvault/src/main/java/**"
# -- per package, across all modules ---------------------------------------
- component_id: service_account
name: Service Account
paths:
- "**/src/main/java/com/skyflow/serviceaccount/**"
- component_id: vault_data
name: Vault Data
paths:
- "**/src/main/java/com/skyflow/vault/data/**"
- component_id: vault_tokens
name: Vault Tokens
paths:
- "**/src/main/java/com/skyflow/vault/tokens/**"
- component_id: vault_connection
name: Vault Connection
paths:
- "**/src/main/java/com/skyflow/vault/connection/**"
- component_id: vault_controller
name: Vault Controller
paths:
- "**/src/main/java/com/skyflow/vault/controller/**"
- component_id: vault_detect
name: Detect
paths:
- "**/src/main/java/com/skyflow/vault/detect/**"
- component_id: vault_audit
name: Audit
paths:
- "**/src/main/java/com/skyflow/vault/audit/**"
- component_id: vault_bin
name: BIN Lookup
paths:
- "**/src/main/java/com/skyflow/vault/bin/**"
- component_id: config
name: Config
paths:
- "**/src/main/java/com/skyflow/config/**"
- component_id: utils
name: Utils
paths:
- "**/src/main/java/com/skyflow/utils/**"
- component_id: errors
name: Errors
paths:
- "**/src/main/java/com/skyflow/errors/**"
- component_id: enums
name: Enums
paths:
- "**/src/main/java/com/skyflow/enums/**"
- component_id: logs
name: Logs
paths:
- "**/src/main/java/com/skyflow/logs/**"
# Generated REST/auth clients and sample code are not hand-written and are already excluded
# from the JaCoCo reports by the root pom; ignore them here too so they never skew a target.
ignore:
- "**/src/main/java/com/skyflow/generated/**"
- "**/samples/**"
- "**/src/test/**"