Failure Details
Failed Jobs and Errors
| Job |
Status |
Per-Class Coverage Gate |
❌ FAILED — Step: Enforce Per-Class Coverage Gate |
allBuildAndTestSuccessful |
❌ FAILED — because Per-Class Coverage Gate failed |
All buildAndTest jobs |
✅ passed |
The coverage gate script (.github/workflows/pull_request.yml) compares per-class JaCoCo coverage from the CI run against test-baseline.json. It fails if any class drops more than 0.05% on line, branch, or method coverage.
Root Cause
test-baseline.json was not updated to reflect the new code added by this PR.
PR #4287 adds 39 new lines to graphql.schema.PropertyFetchingImpl via the new private method findMethodOnPublicInterfaces(...). The baseline still contains the pre-PR values:
"graphql.schema.PropertyFetchingImpl": {
"line": { "covered": 144, "missed": 20 },
"branch": { "covered": 55, "missed": 13 },
"method": { "covered": 31, "missed": 0 }
}
The new findMethodOnPublicInterfaces method introduces additional branches (the dfeInUse conditional, two catch (NoSuchMethodException) blocks, the Modifier.isPublic check, and the recursive iface.getInterfaces() call). Even with the new tests added, some of these branches may not be exercised, causing the actual CI branch/line coverage percentage to fall below the baseline value of:
- Line:
144 / 164 = 87.8%
- Branch:
55 / 68 = 80.9%
This has been failing across all three runs of this PR branch:
- Run 22787152157
- Run 22818128030
- Run 22833938163
Recommended Fix
Relevant file: test-baseline.json — the graphql.schema.PropertyFetchingImpl entry needs to be updated with post-PR coverage numbers.
Generated by CI Failure Doctor
To install this workflow, run gh aw add githubnext/agentics/workflows/ci-doctor.md@ee50a3b7d1d3eb4a8c409ac9409fd61c9a66b0f5. View source at https://github.com/githubnext/agentics/tree/ee50a3b7d1d3eb4a8c409ac9409fd61c9a66b0f5/workflows/ci-doctor.md.
Failure Details
Failed Jobs and Errors
Per-Class Coverage GateallBuildAndTestSuccessfulbuildAndTestjobsThe coverage gate script (
.github/workflows/pull_request.yml) compares per-class JaCoCo coverage from the CI run againsttest-baseline.json. It fails if any class drops more than 0.05% on line, branch, or method coverage.Root Cause
test-baseline.jsonwas not updated to reflect the new code added by this PR.PR #4287 adds 39 new lines to
graphql.schema.PropertyFetchingImplvia the new private methodfindMethodOnPublicInterfaces(...). The baseline still contains the pre-PR values:The new
findMethodOnPublicInterfacesmethod introduces additional branches (thedfeInUseconditional, twocatch (NoSuchMethodException)blocks, theModifier.isPubliccheck, and the recursiveiface.getInterfaces()call). Even with the new tests added, some of these branches may not be exercised, causing the actual CI branch/line coverage percentage to fall below the baseline value of:144 / 164 = 87.8%55 / 68 = 80.9%This has been failing across all three runs of this PR branch:
Recommended Fix
./gradlew test jacocoTestReportlocally on the PR branchtest-baseline.jsonby running the baseline script (or manually copy the new JaCoCo coverage numbers forgraphql.schema.PropertyFetchingImpland any other changed classes)findMethodOnPublicInterfacesmethod's branches are tested, particularly:dfeInUse = truecode path through a public interfacecatch (NoSuchMethodException)fallthrough pathsiface.getInterfaces()whenifaceis not publictest-baseline.jsonto the PR branchRelevant file:
test-baseline.json— thegraphql.schema.PropertyFetchingImplentry needs to be updated with post-PR coverage numbers.