The GitHub Actions job "CI" on grails-core.git/feat/neo4j-gorm-registry-wiring has failed. Run started by GitHub user borinquenkid (triggered by borinquenkid).
Head commit for run: 087b7bc10947579dfb60e9fa75f73883426858da / Walter Duque de Estrada <[email protected]> feat: wire Neo4j adapter to GormRegistry's GormApiFactory mechanism Completes the Neo4j GormRegistry migration plan's PR2: registers a Neo4jGormApiFactory so entities backed by Neo4jDatastore resolve a Neo4jGormStaticApi through GormRegistry instead of silently falling back to the generic GormStaticApi. Without this, static/cypher-string API calls (cypherStatic, findRelationship(s), findPath*, findShortestPath, find/ findAll with a cypher string) threw ClassCastException or UnsupportedOperationException, since those methods only exist on Neo4jGormStaticApi. Turned out to require far less than the "rewrite Neo4jEntity/Node/ Relationship traits" originally scoped in the migration plan: Neo4j's instance and validation APIs were already generic (GormInstanceApi/ GormValidationApi, no Neo4j-specific subclass), matching the DefaultGormApiFactory's base implementations already. Only the static API needed a factory override - mirroring MongoGormApiFactory's exact shape, which only overrides createStaticApi() for the same reason. Neo4jGormApiFactory#createStaticApi() resolves the datastore via DatastoreResolver#resolve() rather than Neo4j's old bespoke getDatastoreForQualifier()/datastoresByConnectionSource logic, since qualifier/multi-datasource routing is now handled generically by GormRegistry/GormApiResolver (the "O(M+N) scaling" work this plan depends on). Verified this doesn't regress Neo4j's own multi-tenancy/multi-datasource tests. registerApiFactory() is called from Neo4jDatastore#initialize(), before constructing the GormEnhancer whose constructor eagerly registers this datastore's entities - registering after would leave those entities bound to the generic factory forever, since GormEnhancer only registers each entity once. 17 of the 34 tests marked @PendingFeature in the prior baseline-migration commit now pass and had their annotations removed (ApiExtensionsSpec, CypherQueryStringSpec, OneToManyUpdateSpec, MultiTenancySpec, PathSpec, RelationshipSpec, NativeIdentityGeneratorSpec's saveAll test, whose fix was already in place but unreachable until this factory was registered). Full suite: 198/215 passing, 0 failures, 17 skipped (4 genuinely pending - unrelated to this change - plus pre-existing @Ignore'd tests). Co-Authored-By: Claude Sonnet 5 <[email protected]> Report URL: https://github.com/apache/grails-core/actions/runs/29064697774 With regards, GitHub Actions via GitBox
