Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
uses: codecov/codecov-action@v7
with:
files: ./coverage-src.xml
flags: backend
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true

Expand Down Expand Up @@ -81,6 +82,7 @@ jobs:
uses: codecov/codecov-action@v7
with:
files: ./coverage.xml
flags: client
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true

Expand Down
31 changes: 31 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Coverage arrives in two uploads from two independent jobs: the backend suite (--cov=app,
# ~3100 lines) and the client suite (--cov=pyroclient, ~135 lines). Without this config the
# project status is evaluated as soon as the first upload lands, so whenever the client job
# finishes first the check compares a 3-file report against the full base, reports a ~2.5%
# project drop and fails the PR, then silently recovers once the backend upload arrives.
#
# notify.after_n_builds holds every status and the PR comment until both uploads are in, so they
# are only ever computed on a complete report. The flags exist so each job's contribution is
# identifiable in the Codecov UI, and so a missing upload shows up as such instead of silently
# lowering the total.
codecov:
notify:
after_n_builds: 2

coverage:
status:
project:
default:
# Small unavoidable swings (a refactor moving covered lines around) should not block.
threshold: 0.5%

comment:
after_n_builds: 2

flags:
backend:
paths:
- src/app/
client:
paths:
- client/pyroclient/