-
-
Notifications
You must be signed in to change notification settings - Fork 367
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
Revert "Update to latest prettyprinter API (#2352)" #2389
Conversation
This reverts commit 1eb133f. This change breaks compatibility with Stackage LTS 16 (GHC 8.8)
out of curiosity, what is the concrete consequence?, circleci stack builds with ghc-8/lts-16.31 are fine afaics |
That's because we don't build the entire LTS 16 in CircleCI. Enterprise codebases like ours build a large subset of the snapshot, which means bumping one dependency has a cascading effect. In this case |
If compatibility with specific stack snapshots like this is important then we need to enforce it and probably include it in our update policy. Otherwise this is just going to happen again next time someone bumps a dep. |
Don't be, thank you for taking care of it! |
But we are using other extra-deps with newer versions than the used ones in the original lts: from aeson to lsp-types. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, maybe we should track its eventual inclusion to facilitate ghc-9.2 support (that was the reason to add this, no @fendor ?)
No, the reason was I had warnings while building and thought I was being helpful 😄 |
Actually, I don't understand this. Why do you need to build your main codebase and HLS using the same stack snapshot, even? Can't you do an independent build of the HLS binaries, separate from your main codebase? "All versions of packages we use must be compatible with the build plan for the actual FB codebase" seems like too stringent a requirement for us to follow... |
Well in this case we dont lose great things and if a new version of a dep is needed due a bug fix or performance improvement etc, probably everybody, including fb, will need or want it as well. So not something to establish a general criteria but to consider in each case, imho. |
We don't build HLS, we build ghcide and use it as a library.
I am not asserting this as a requirement, our infra has support for source patches for dealing with this sort of thing. It's just that in this case it seems that relaxing the compatibility with |
This reverts commit 1eb133f.
Sorry for the revert @fendor but this change breaks compatibility with Stackage LTS 16 (GHC 8.8).
I considered adding CPP to support both the new and the old API, but it doesn't seem worth it given the little use in the ghcide codebase - it would be easier to drop the dependency.