-
-
Notifications
You must be signed in to change notification settings - Fork 372
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
Drop hackage-index from cabal.project #1496
Comments
Ping @pepeiborra @wz1000 @Ailrun @alanz (and the rest o maintainers, of course) |
Including the index-state is really helpful for people contributing to the project to know that they can work on it without having to worry about bounds issues. It's a real step forward in that way, I'd be sad to see it go.
Removing it just means you'll break the cache non-deterministically or when you do
I think you will still miss bounds issues because it will depend on the state of the hackage index on your computer. i.e. At the moment to be sure the bounds are okay at time T you must:
Without the Importantly, the computer-dependence also switches the burden of who finds bounds issues. At the moment, you find bounds issues when you bump the index-state, i.e. when you're doing maintenance and you want to check that things work with newer versions. If we don't have the index state, random contributors will find bounds issues when they happen to try and contribute to HLS with too new a Hackage index. It super sucks to have to fix bounds issues before you can make a contribution (and it makes the project seem broken), and I don't think that's the division of labour that we want. |
Thanks for your insights.
It is not hard but i miss it once and once again 😓, my obtuseness is the main reason for sure (although i know i am not the unique one!) but the fact is it is not a extended practice for other projects and you have to do it only for hls, helps to miss it. You can't miss
Fair enough, moreover given you had to open issues about bad bounds 🙂
well maybe we could fire another ci job (maybe not required to merge, or scheduled) with a build with last hackage index (removing or disabling via flag the |
Ugh, actually, now that you point it out, that was because of trying to build it from Hackage. So pinning the index state does mean that people pulling from Hackage might get issues. Which is also not good. So that puts the problems on a different set of users 😔 Maybe updating the index state and checking the bounds should be a step in the release process? It's hard to stop things breaking when Hackage changes, but at least we can check when we upload. |
index state was introduced here haskell/haskell-ide-engine#1561 One could argue the index state should live in cabal.project.freeze ( So I'd argue the project should use a freeze file generated by cabal. Bumping the index state then is simply:
Another way would be to use stack2cabal. It seems to work for well for this repo, but keep in mind that it uses its own yaml parser, since stack doesn't expose its internals. wrt hackage: afais haskell-language-server.cabal already uses the |
Ok, so i think we should keep it and try to catch or prevent errors due to dependencies updates in other ways: setting bounds (and maintining them!), with ci jobs, etc |
The text was updated successfully, but these errors were encountered: