-
Notifications
You must be signed in to change notification settings - Fork 61
Expand file tree
/
Copy pathcodecov.yml
More file actions
300 lines (294 loc) · 11 KB
/
Copy pathcodecov.yml
File metadata and controls
300 lines (294 loc) · 11 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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
# Codecov configuration for physical-ai-toolchain.
#
# Flag → Workflow → cwd → uploaded coverage artifact → coverage scope
# -----------------------------------------------------------------------------------------------
# pytest-training | pytest-training.yml | repo root | logs/coverage-training.xml | --cov=training
# pytest-dm-tools | pytest-dm-tools.yml | repo root | logs/coverage-dm-tools.xml | --cov=data-management/tools
# pytest-data-pipeline | pytest-data-pipeline.yml | repo root | logs/coverage-data-pipeline.xml | --cov=data-pipeline/capture
# pytest-inference | pytest-inference.yml | repo root | logs/coverage-inference.xml | --cov=fleet-deployment/inference
# pytest-shared-ci | pytest-shared-ci.yml | repo root | logs/coverage-shared-ci.xml | --cov=shared/ci
# pytest-dataviewer | dataviewer-backend-pytests.yml | data-management/viewer/backend | logs/coverage.xml | --cov=src
# pytest-evaluation | evaluation-pytests.yml | evaluation | evaluation/logs/coverage.xml | --cov=.
# pytest-fuzz | fuzz-regression-tests.yml | repo root | logs/coverage.xml | --cov=tests --cov=data-management/viewer/backend/src --cov=training
# vitest | dataviewer-frontend-tests.yml | data-management/viewer/frontend | coverage/lcov.info | vitest --coverage
# vitest-components | dataviewer-frontend-tests.yml | data-management/viewer/frontend | coverage/lcov.info | subset: src/components/
# vitest-features | dataviewer-frontend-tests.yml | data-management/viewer/frontend | coverage/lcov.info | subset: src/components/{dashboard,annotation-panel,frame-editor,episode-viewer}/
# vitest-lib | dataviewer-frontend-tests.yml | data-management/viewer/frontend | coverage/lcov.info | subset: src/lib/
# vitest-state | dataviewer-frontend-tests.yml | data-management/viewer/frontend | coverage/lcov.info | subset: src/stores/, src/hooks/
# vitest-app | dataviewer-frontend-tests.yml | data-management/viewer/frontend | coverage/lcov.info | subset: src/App.tsx
# go | go-tests.yml | infrastructure/terraform/e2e | coverage.out | go test -cover
# terraform | terraform-tests.yml | infrastructure/terraform | n/a | terraform test
# pester | pester-tests.yml | repo root | logs/pester-coverage.xml | Invoke-Pester -CodeCoverage
#
# Flag overlaps (intentional):
# pytest-fuzz overlaps pytest-training (training/) and pytest-dataviewer (viewer/backend/src/).
# go ⊂ terraform (infrastructure/terraform/e2e/ ⊂ infrastructure/terraform/);
# deduplicated at the component layer (infrastructure-terraform vs infrastructure-go-e2e).
# vitest-* (components/features/lib/state/app) overlap the aggregate vitest flag and each
# other (vitest-features ⊂ vitest-components since the feature directories
# dashboard/, annotation-panel/, frame-editor/, episode-viewer/ all live under src/components/);
# intentional to surface per-section coverage trends without losing the aggregate view.
codecov:
notify:
wait_for_ci: true
coverage:
precision: 2
round: down
range: "80...100"
status:
project:
default: false
pester:
flags:
- pester
target: 80%
pytest-training:
flags:
- pytest-training
target: 80%
pytest-dm-tools:
flags:
- pytest-dm-tools
target: 80%
pytest-data-pipeline:
flags:
- pytest-data-pipeline
target: 80%
pytest-inference:
flags:
- pytest-inference
target: 80%
pytest-shared-ci:
flags:
- pytest-shared-ci
target: 80%
pytest-dataviewer:
flags:
- pytest-dataviewer
target: 80%
pytest-evaluation:
flags:
- pytest-evaluation
target: 80%
# pytest-fuzz, vitest-*, terraform, and go intentionally omitted from project status gating:
# fuzzing coverage is always low by design, vitest improvements are tracked in a separate
# workstream, terraform reports test results without a coverage XML, and go e2e tests do
# not produce meaningful coverage signal at the PR granularity.
# Disable the top-level aggregate patch status; component-level patch statuses still apply.
patch: off
flags:
pytest-training:
paths:
- training/
carryforward: true
pytest-dm-tools:
paths:
- data-management/tools/
carryforward: true
pytest-data-pipeline:
paths:
- data-pipeline/capture/
carryforward: true
pytest-inference:
paths:
- fleet-deployment/inference/
carryforward: true
pytest-shared-ci:
paths:
- shared/ci/
carryforward: true
pytest-dataviewer:
paths:
- data-management/viewer/backend/src/
carryforward: true
pytest-fuzz:
paths:
- tests/
- data-management/viewer/backend/src/
- training/
carryforward: true
pytest-evaluation:
paths:
- evaluation/
carryforward: true
vitest:
paths:
- data-management/viewer/frontend/src/
carryforward: true
vitest-components:
paths:
- data-management/viewer/frontend/src/components/
carryforward: true
vitest-features:
# Most actively developed feature areas tracked individually; remaining components fall under vitest-components.
paths:
- data-management/viewer/frontend/src/components/dashboard/
- data-management/viewer/frontend/src/components/annotation-panel/
- data-management/viewer/frontend/src/components/frame-editor/
- data-management/viewer/frontend/src/components/episode-viewer/
carryforward: true
vitest-lib:
paths:
- data-management/viewer/frontend/src/lib/
- data-management/viewer/frontend/src/api/
- data-management/viewer/frontend/src/types/
carryforward: true
vitest-state:
paths:
- data-management/viewer/frontend/src/stores/
- data-management/viewer/frontend/src/hooks/
carryforward: true
vitest-app:
paths:
- data-management/viewer/frontend/src/App.tsx
carryforward: true
go:
paths:
- infrastructure/terraform/e2e/
carryforward: true
terraform:
paths:
- infrastructure/terraform/
carryforward: true
pester:
paths:
- scripts/
carryforward: true
component_management:
default_rules:
statuses:
- type: project
target: 80%
threshold: 0%
if_not_found: success
- type: patch
target: 80%
threshold: 0%
only_pulls: true
if_ci_failed: error
if_not_found: success
individual_components:
- component_id: training
name: Training
paths:
- training/*.py
- training/rl/**
- training/il/**
- training/vla/**
- training/pipelines/**
- training/packaging/**
- training/utils/**
- component_id: evaluation
name: Evaluation
paths:
- evaluation/sil/**
- evaluation/metrics/**
- component_id: data-pipeline-capture
name: Data Pipeline / Capture
paths:
- data-pipeline/capture/**
- "!data-pipeline/capture/tests/**"
- component_id: fleet-deployment-inference
name: Fleet Deployment / Inference
paths:
- fleet-deployment/inference/**
- component_id: dataviewer-backend
name: Dataviewer Backend
paths:
- data-management/viewer/backend/src/**
- component_id: dataviewer-backend-routers
name: Dataviewer Backend / Routers
paths:
- data-management/viewer/backend/src/api/routers/**
- data-management/viewer/backend/src/api/routes/**
- component_id: dataviewer-backend-services
name: Dataviewer Backend / Services
paths:
- data-management/viewer/backend/src/api/services/**
- component_id: dataviewer-backend-storage
name: Dataviewer Backend / Storage
paths:
- data-management/viewer/backend/src/api/storage/**
- data-management/viewer/backend/src/api/models/**
- component_id: dataviewer-backend-security
name: Dataviewer Backend / Security
paths:
- data-management/viewer/backend/src/api/auth.py
- data-management/viewer/backend/src/api/csrf.py
- data-management/viewer/backend/src/api/validation.py
- data-management/viewer/backend/src/api/rate_limiter.py
- data-management/viewer/backend/src/api/middleware.py
- component_id: dataviewer-frontend
name: Dataviewer Frontend
paths:
- data-management/viewer/frontend/src/**
- component_id: dataviewer-frontend-components
name: Dataviewer Frontend / Components
paths:
- data-management/viewer/frontend/src/components/**
- component_id: dataviewer-frontend-lib
name: Dataviewer Frontend / Lib
paths:
- data-management/viewer/frontend/src/lib/**
- data-management/viewer/frontend/src/api/**
- data-management/viewer/frontend/src/types/**
- component_id: dataviewer-frontend-state
name: Dataviewer Frontend / State
paths:
- data-management/viewer/frontend/src/stores/**
- data-management/viewer/frontend/src/hooks/**
- component_id: data-management-tools
name: Data Management Tools
paths:
- data-management/tools/**
- "!data-management/tools/tests/**"
- component_id: shared-ci
name: Shared CI
paths:
- shared/ci/**
- "!shared/ci/tests/**"
- component_id: infrastructure-terraform
name: Infrastructure / Terraform
paths:
- infrastructure/terraform/**/*.tf
- component_id: infrastructure-go-e2e
name: Infrastructure / Go E2E
paths:
- infrastructure/terraform/e2e/**/*.go
- component_id: scripts-pester
name: Scripts / Pester
paths:
- scripts/**/*.ps1
- scripts/**/*.psm1
- component_id: fuzz-suite
name: Fuzz Suite
statuses: []
paths:
- tests/fuzz_harness.py
- tests/fuzz-corpus/**
comment:
layout: "header, diff, flags, files"
behavior: default
require_changes: false
show_carryforward_flags: true
ignore:
- "training/tests/**"
- "data-management/viewer/backend/tests/**"
- "data-management/tools/tests/**"
- "shared/ci/tests/**"
- "data-pipeline/capture/tests/**"
- "evaluation/tests/**"
- "scripts/tests/**"
- "scripts/security/zap-to-sarif.py"
- "tests/e2e/**"
- "fleet-deployment/inference/tests/**"
- "**/__pycache__/**"
- "**/.venv/**"
- "**/node_modules/**"
- "**/*.test.ts"
- "**/*.test.tsx"
- "external/**"
- "docs/**"
- "workflows/**"
- "config/**"
- "logs/**"