-
Notifications
You must be signed in to change notification settings - Fork 92
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
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
✅ Docs preview has no changesThe preview was not built because there were no changes. Build ID: 330ce7e8f721c8db2b3e9d4c |
jonathanrainer
force-pushed
the
jr/task/ROVER-285
branch
from
January 24, 2025 07:24
66fda28
to
e49e3a7
Compare
nmoutschen
approved these changes
Jan 24, 2025
jonathanrainer
force-pushed
the
jr/task/ROVER-285
branch
from
January 24, 2025 10:50
07db0c1
to
de57c91
Compare
dotdat
approved these changes
Jan 24, 2025
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
force-pushed
the
jr/task/ROVER-285
branch
from
January 27, 2025 10:28
50d9ff1
to
d120103
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.