Repository navigation
ci: aggregate JaCoCo coverage and gate PRs via Codecov - #144
Closed
dkasimovskiy wants to merge 1 commit into
Closed
dkasimovskiy wants to merge 1 commit into
dkasimovskiy wants to merge 1 commit into
Conversation
Collect jacoco exec files from unit and integration jobs, build an aggregate report over all modules (including spring-data and testcontainers), and upload it to Codecov. codecov.yml makes project and patch coverage statuses fail when coverage decreases. Co-Authored-By: Claude <noreply@anthropic.com>
dkasimovskiy
force-pushed
the
feat/jacoco-coverage-gating
branch
from
October 29, 2026 14:30
57ea986 to
b3c1775
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Test coverage was generated by JaCoCo but never collected: the coverage jobs in
tests.ymlwere commented out, and nothing blocked PRs that lowered coverage.This PR collects JaCoCo execution data from all CI test jobs, builds a single aggregate report across all modules, uploads it to Codecov, and configures Codecov statuses to fail when project or patch coverage decreases.
Changes
.github/workflows/tests.yml*.execfiles as artifacts (matrix jobs get a versioned exec filename so runs do not overwrite each other).merge-jacoco-reportjob downloads the exec files into the moduletarget/dirs and runs./mvnw -DskipTests verify -pl jacoco-coverage-aggregate-report -am, which builds classes and generates onejacoco.xml, then uploads it to Codecov.jacoco-coverage-aggregate-report/pom.xmltarantool-spring-data-coreandtarantool-spring-data-27…40dependencies — previously spring-data was missing from the aggregated report entirely.report-aggregatetoverify; invoking it with-plwithout-amproduced an empty report because dependencies were not in the reactor.testcontainersis nowcompilescope in this module (BOM setstest), otherwise its classes are excluded from the report.codecov.yml—projectandpatchstatuses usetarget: auto,threshold: 0%.Verified locally: aggregate report contains 573 classes, 325 of them from spring-data (including
spring-data-core, which is exercised only by the version modules' tests).Follow-ups (not in code)
tarantool/tarantool-java-sdk/ addCODECOV_TOKENsecret if required.master, require status checkscodecov/projectandcodecov/patch.Checklist
Related issues: —