Skip to content

CI Failure DoctorCI Failure - Run #23374241737 - JSpecifyAnnotationsCheck test fails on Java 21 #4345

@github-actions

Description

@github-actions

Failure Details

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions