Skip to content

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

Closed

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

Activity

  1. dondonz commented on Mar 21, 2026

    @dondonz
    Member

    This was correct

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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