Skip to content

Commit 35a5e2d

Browse files
committed
chore: Flag core unit/integration Codecov uploads separately
1 parent ab68d96 commit 35a5e2d

2 files changed

Lines changed: 30 additions & 3 deletions

File tree

.github/workflows/code-qa.yml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,32 @@ jobs:
6767
${{ runner.os }}-turbo-
6868
- name: Run test coverage with split core integration lane
6969
run: pnpm test:coverage
70-
- name: Upload coverage to Codecov
70+
# Coverage is uploaded in three separate steps so each LCOV gets the
71+
# correct flag set. Codecov double-counts overlapping lines when a
72+
# single upload carries multiple flags whose paths overlap, so the
73+
# two core lanes (which both cover packages/core/src/**) must be
74+
# uploaded individually with their own lane flag.
75+
# See https://docs.codecov.com/docs/flags
76+
- name: Upload non-core coverage to Codecov
7177
uses: codecov/codecov-action@v4
7278
with:
7379
files: >-
7480
src/coverage/lcov.info,
7581
webview-ui/coverage/lcov.info,
76-
packages/core/coverage/unit/lcov.info,
77-
packages/core/coverage/integration/lcov.info,
7882
packages/cloud/coverage/lcov.info,
7983
packages/telemetry/coverage/lcov.info,
8084
apps/cli/coverage/lcov.info
8185
flags: ${{ matrix.codecov-flag }}
8286
token: ${{ secrets.CODECOV_TOKEN }}
87+
- name: Upload core unit coverage to Codecov
88+
uses: codecov/codecov-action@v4
89+
with:
90+
files: packages/core/coverage/unit/lcov.info
91+
flags: ${{ matrix.codecov-flag }},core-unit
92+
token: ${{ secrets.CODECOV_TOKEN }}
93+
- name: Upload core integration coverage to Codecov
94+
uses: codecov/codecov-action@v4
95+
with:
96+
files: packages/core/coverage/integration/lcov.info
97+
flags: ${{ matrix.codecov-flag }},core-integration
98+
token: ${{ secrets.CODECOV_TOKEN }}

codecov.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ coverage:
1111
target: 80% # new lines must be 80% covered
1212
threshold: 0%
1313

14+
flag_management:
15+
individual_flags:
16+
- name: core-unit
17+
paths:
18+
- packages/core/src/
19+
carryforward: true
20+
- name: core-integration
21+
paths:
22+
- packages/core/src/
23+
carryforward: true
24+
1425
comment:
1526
layout: "diff, flags"
1627
behavior: default

0 commit comments

Comments
 (0)