From 04694f259f8bcb22755c0ec66e44bca6f09fd0af Mon Sep 17 00:00:00 2001 From: Nick Ficano Date: Sun, 24 May 2026 21:14:24 -0400 Subject: [PATCH] ci: upload coverage to Codecov Kover is already configured in the root build.gradle.kts (aggregating :lib and :tests). Switch the test step to also run koverXmlReport and upload the aggregated XML to Codecov. Non-blocking. Requires CODECOV_TOKEN to be set as a repo secret. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/test.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bcae229..51018ff 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -71,8 +71,20 @@ jobs: - name: Build run: ./gradlew --no-daemon assemble - - name: Test - run: ./gradlew --no-daemon test + - name: Test (with Kover coverage) + run: ./gradlew --no-daemon test koverXmlReport + + # Aggregated Kover XML lives at build/reports/kover/report.xml in the + # root project (see build.gradle.kts kover { } block, which depends on + # lib + tests). Non-blocking so a Codecov outage cannot break CI. + - name: Upload coverage to Codecov + # codecov/codecov-action v6.0.1 + uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1 + with: + fail_ci_if_error: false + flags: unittests + files: ./build/reports/kover/report.xml + token: ${{ secrets.CODECOV_TOKEN }} - name: Upload test reports if: failure()