-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Failure Details
- Run: 22833938163
- Commit: ec01d15
- PR: Fix findPubliclyAccessibleMethod to search interfaces for accessible methods #4287 — Fix findPubliclyAccessibleMethod to search interfaces for accessible methods
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
- Run
./gradlew test jacocoTestReportlocally on the PR branch - After a successful test run, update
test-baseline.jsonby running the baseline script (or manually copy the new JaCoCo coverage numbers forgraphql.schema.PropertyFetchingImpland any other changed classes) - Specifically ensure coverage for the new
findMethodOnPublicInterfacesmethod's branches are tested, particularly:- The
dfeInUse = truecode path through a public interface - The
catch (NoSuchMethodException)fallthrough paths - The recursive search through
iface.getInterfaces()whenifaceis not public
- The
- Commit the updated
test-baseline.jsonto the PR branch
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.