Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROVER-285 Allow LSP to start up with unresolvable supergraph.yaml #2364

Merged
merged 13 commits into from
Jan 27, 2025

Conversation

jonathanrainer
Copy link
Contributor

This PR takes in a few aspects, but the crucial point is that it is now possible for the LSP to start up, and enter the event loop, even if the supergraph.yaml is not properly resolvable down to a set of SDLs. This solves multiple bugs including issues with --profile not being correctly set, introspection potentially failing, incorrect GraphRefs not being reported and so on.

Have added tests where appropriate but a lot of this work is plumbing in order to move data around and so is somewhat challenging to test without working end-to-end, as I also have during the course of this work, see: https://docs.google.com/spreadsheets/d/1MXZzRDgxGMcEAtaguFnWAU0WW4-j6LRpdLCXz3Wv6YY/edit?gid=0#gid=0 for the E2E test cases considered.

@jonathanrainer jonathanrainer requested a review from a team as a code owner January 24, 2025 07:19
@svc-apollo-docs
Copy link
Collaborator

svc-apollo-docs commented Jan 24, 2025

✅ Docs preview has no changes

The preview was not built because there were no changes.

Build ID: 330ce7e8f721c8db2b3e9d4c

src/composition/watchers/subgraphs.rs Outdated Show resolved Hide resolved
src/composition/pipeline.rs Outdated Show resolved Hide resolved
src/composition/pipeline.rs Outdated Show resolved Hide resolved
At the moment we force everything to fully resolvable at startup for
multiple reasons. This isn't necessary and we should push this back
into other bits of the pipeline so it can start up in a broken state.
In the past the SupergraphConfigWatcher always resolved the
SupergraphConfig Lazily and used that for comparative purposes. However,
because we want to be able to publish messages about issues with the
subgraphs we need to try and fully resolve everything to see what
doesn't work.
@jonathanrainer jonathanrainer merged commit 25d9456 into main Jan 27, 2025
32 checks passed
@jonathanrainer jonathanrainer deleted the jr/task/ROVER-285 branch January 27, 2025 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants