rover icon indicating copy to clipboard operation
rover copied to clipboard

Allow composition errors to be ignored ... or?

Open dchambers opened this issue 2 years ago • 2 comments

Description

We can use --query-count-threshold, --query-percentage-threshold, and --validation-period as a means to completely ignore operation errors, but there does not seem to be something like a --ignore-composition-errors switch to do the same for composition errors.

Motivation

My motivation for wanting this is that I have a build step (in our schema governance repo) that's only interested in operation errors. It's also worth pointing out that I wouldn't be trying to do this at all if there was a way to provide schemas for multiple subgraphs at the same time, for example:

rover subgraph check <graph-ref> --schema <schema1> --name <subgraph1> --schema <schema2> --name <subgraph2>

since then there wouldn't be any composition errors -- the governance PRs sometimes involve updates to multiple schemas at the same time, and I'd like to be able to confirm that those change will compose on dev and won't be breaking on prod.

FYI: I'm working around this single-subgraph check limitation by using rover subgraph fetch to download all subgraphs except those that have been changed within the PR, then using rover supergraph compose to verify composition. The thing I lose by doing this are the operation checks, which I can get back with rover subgraph check, but only for PRs that change just a single subgraph.

Thoughts?

dchambers avatar Dec 15 '21 21:12 dchambers

I've just found an even more compelling reason for wanting this feature. Although subgraph teams are already recommended to setup Apollo checks within their CI pipelines, this is not possible to enforce. We'd therefore like to be able to centrally prevent the publishing of schemas that break operation errors to eliminate this aspect of operational risk.

dchambers avatar Mar 22 '22 10:03 dchambers

Yet an even more compelling reason for this feature is where a composition error starts to occur on staging or prod, where CI checks are required, and therefore blocking PRs that would fix that composition error.

dchambers avatar Jun 07 '22 08:06 dchambers