You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@grails.apache.org by GitBox <gi...@apache.org> on 2026/08/23 17:44:36 UTC
[GH] (grails-core/refactor/graphql-types): Workflow run "CI" failed!
The GitHub Actions job "CI" on grails-core.git/refactor/graphql-types has failed.
Run started by GitHub user borinquenkid (triggered by borinquenkid).
Head commit for run:
b0f3b142fad216dedd4d8373decd2ff2709e99f6 / Walter Duque de Estrada <wb...@mac.com>
Migrate all Coercing implementations off deprecated 1-arg overrides
graphql-java deprecated Coercing's 1-arg serialize(Object)/parseValue(Object)/
parseLiteral(Object) since 2022-08-22 in favor of context/locale-aware
overloads: serialize(Object, GraphQLContext, Locale),
parseValue(Object, GraphQLContext, Locale), and
parseLiteral(Value<?>, CoercedVariables, GraphQLContext, Locale). Every
Coercing implementation in this package overrode the old methods.
Migrated all of them - ByteArrayCoercion, CharacterArrayCoercion,
CurrencyCoercion, DateCoercion, SqlDateCoercion, TimeCoercion,
TimeZoneCoercion, TimestampCoercion, URICoercion, URLCoercion,
UUIDCoercion, Jsr310Coercion (the base class LocalDate/LocalDateTime/
LocalTime/OffsetDateTime/OffsetTime/ZonedDateTime all extend, so they
needed no direct changes), and InstantCoercion - to the new signatures.
Fixed three real bugs surfaced while touching these classes:
- ByteArrayCoercion#parseLiteral cast a List<Byte>#toArray() result
(always an Object[] at runtime) directly to Byte[], which throws
ClassCastException whenever called. Used toArray(new Byte[0]) instead.
- CharacterArrayCoercion used the deprecated new Character(char)
constructor in three places; switched to Character.valueOf(char).
- InstantCoercion#parseLiteral declared a blank Object value reassigned
across an if/else-if with no else branch, so an unrecognized Value
subtype fell through with value never assigned. Rewrote each branch to
return directly instead, the same treatment given elsewhere in this
cleanup, and dropped the now-redundant outer `instanceof Value` check
since IntValue/StringValue already narrow to Value subtypes.
Updated every coercion spec (18 files) to call the new signatures.
Removed InstantCoercionSpec's "non Value type returns null" test since
that scenario is no longer reachable - the method's static parameter
type is now Value<?>, and the still-present "unrecognized Value type"
test (BooleanValue) covers the equivalent behavior. Verified against
SchemaSpec, which exercises these coercions through real GraphQL query
execution, not just direct unit calls.
Co-Authored-By: Claude Sonnet 5 <no...@anthropic.com>
Report URL: https://github.com/apache/grails-core/actions/runs/32650602591
With regards,
GitHub Actions via GitBox