-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Failure Details
- Run: 23374241737
- Commit:
0c7b9c3b665d28c4b5850a84e08f03e9dd9fa412(merge ofcopilot/add-jspecify-annotations-to-classesinto master) - PR: Add JSpecify annotations to 10 classes in graphql.language package and improve annotation prompt #4216 — Add JSpecify annotations to 10 classes in graphql.language package
Failed Jobs and Errors
| Job | Conclusion |
|---|---|
buildAndTest (testWithJava21 testngWithJava21, java21, ...) |
❌ failure |
buildAndTest (testWithJava17, ...) |
cancelled |
buildAndTest (testWithJava11, ...) |
cancelled |
buildAndTest (test testng, java25, ...) |
cancelled |
allBuildAndTestSuccessful |
failure (cascade) |
The check job (compile + ErrorProne/NullAway) passed, confirming this is a test failure, not a compilation error.
The failing test is JSpecifyAnnotationsCheck > "exempted classes should not be annotated with @NullMarkedor@NullUnmarked".
Root Cause
The PR annotated 10 graphql.language classes with @NullMarked, but only removed 6 of them from the JSPECIFY_EXEMPTION_LIST in JSpecifyAnnotationsCheck.groovy. Four classes were annotated with @NullMarked but never removed from the exemption list:
| Class | Annotated with @NullMarked |
Removed from exemption list |
|---|---|---|
graphql.language.Comment |
✅ | ✅ |
graphql.language.Definition |
✅ | ✅ |
graphql.language.IgnoredChar |
✅ | ✅ |
graphql.language.IgnoredChars |
✅ | ✅ |
graphql.language.Node |
✅ | ✅ |
graphql.language.NodeChildrenContainer |
✅ | ✅ |
graphql.language.NodeVisitor |
✅ | ❌ missing |
graphql.language.NodeVisitorStub |
✅ | ❌ missing |
graphql.language.SourceLocation |
✅ | ❌ missing |
graphql.language.Type |
✅ | ❌ missing |
The second invariant in JSpecifyAnnotationsCheck.groovy requires that any class annotated with @NullMarked or @NullUnmarked must not appear in the exemption list — and vice versa.
Recommended Fix
In src/test/groovy/graphql/archunit/JSpecifyAnnotationsCheck.groovy, remove the following 4 entries from JSPECIFY_EXEMPTION_LIST:
- "graphql.language.NodeVisitor",
- "graphql.language.NodeVisitorStub",
- "graphql.language.SourceLocation",
- "graphql.language.Type",These are around lines 126–136 of the file (in the merge commit). After the fix, both invariants should be satisfied:
- All 10 classes will be annotated with
@NullMarked✅ - None of the 10 will appear in the exemption list ✅
Generated by CI Failure Doctor · ◷
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/ci-doctor.md@ee50a3b7d1d3eb4a8c409ac9409fd61c9a66b0f5