-
Notifications
You must be signed in to change notification settings - Fork 27
Description
Background
Hi, we use the schema comparer library to output breaking change warnings as PR comments, as I'm sure many do. We do not use the rake task directly but rather take the output of GraphQL::SchemaComparator.compare
and process it to our liking.
As we have some niche use case customisations, we have extensive testing of the output of our custom comparer.
Problem
In a routine upgrade from 1.0.0 to 1.1.1 (while remaining on GraphQL 1.12.10) while most tests still passed, we saw 2 failures:
The first is that removed arguments are missing their type:
Before: "Argument include_internal: Boolean!
was removed from field Query.organisation
"
After: "Argument include_internal:
was removed from field Query.organisation
"
The second is that when field description is changed on an interface which is implemented by another type, that type's name is no longer included in output, instead duplicating the interface's name:
Diff:04:08
@@ -1,7 +1,7 @@04:08
## Detected safe changes in your GraphQL schema for `/v1/graphql`04:08
04:08
Detected changes when compared against the staging schema @ 12/08/2021:04:08
-- ✅ Field `Organisation.visibleAccountsCount` description changed from `Number of accounts` to `Number of accounts on organisation`04:08
+- ✅ Field `OrganisationalUnit.visibleAccountsCount` description changed from `Number of accounts` to `Number of accounts on organisation`04:08
- ✅ Field `OrganisationalUnit.visibleAccountsCount` description changed from `Number of accounts` to `Number of accounts on organisation`04:08
in this instance the relevant SDL is:
type Organisation implements OrganisationalUnit {}
interface OrganisationalUnit {
"""
Number of accounts on organisation
"""
visibleAccountsCount: Int
}