-
Notifications
You must be signed in to change notification settings - Fork 37
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
feat: Bump GHC 9.8.4 + add bullseye image for 9.8.4 #143
Conversation
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.
Thank you. LGTM
As far as I can see, the CI failures are not directly related to this PR |
@Totto16 I'm addressing the CI failures here: #144 However I just realized now that docker-library/official-images (https://github.com/docker-library/official-images/blob/master/library/haskell) no longer accepts buster (debian 10) based images (see #132 (comment)) because buster is past the end of life. So if you really want an official haskell image with ghc 8.4 support, we'll have to migrate the dockerfiles to be based on bullseye (debian 11) at least. Do you want to take a stab at that? You can find some inspiration in similar PRs where we added bullseye support for ghc 9.6 (#137) and 9.10 (#134). If you don't, I can take a stab at that later this week. |
Ah I see, 👍🏼
I can do that. 👍🏼 I don't use debian that much, so I didn't know the newest version was already 12, and 11 isn't even the newest 😓 |
As far as I see, the old buster images are still bumped, so that we have e.g. 9.6.6 in all 2 variants of buster and bullseye, so I would say, that the old should also be updated to 9.8.4, so I didn't remove the first commit but add the new images based on bullseye based on the 9.10.1 images |
Should I also bump cabal to 3.12 ? |
Adding separate bullseye images (and keeping buster ones around) makes sense to me.
Let's keep the PR focused on ghc 9.8.4 upgrade and let's do cabal 3.12 upgrade separately (because ghc 9.8 should work fine with cabal 3.10 based on its release page) |
I second @jhrcek, let's leave it as is for now |
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, merging
This PR means that the image uses a GHC version which isn't yet supported by the Haskell Language Server: haskell/haskell-language-server#4493. I've just been talking to a Haskell newcomer who was pretty frustrated by this after overcoming several other tooling issues. Would it make sense for the images to include HLS, even if it means building from source where no official binaries are available? |
I think that isn't really possible / a good option, as the HLS is not really a part of GHC / Haskell, but an additional tool. While it's unfortunate, that GHC 9.8.4 is not supported by a HLS release, the master branch of HLS supports it, and you can build it manually (Like already described in haskell/haskell-language-server#4493). This is in fact an issue of HLS and not GHC itself. So HLS needs to fix this, not this image / repo. Interesting side fact, https://hackage.haskell.org/package/ghc has nearly all releases listed, like e.g. 9.6.1 until 9.6.6, but 9.8.4 is also missing. Something about the 9.8.4 release or people doing releases on Haskell tools might have changed. Keep in mind that most of these tools are maintained by volunteers in their spare time. So while this all is unfortunate, it is how it is 🤷🏼♂️ Edit: after reading haskell/haskell-language-server#4493 I just repeated a bunch of stuff from that discussion 😄 This comment haskell/haskell-language-server#4493 (comment) sums it up pretty perfectly. |
Fair enough. I'm mostly going by the fact that it is conventionally included in Nix development shells for Haskell.
Ha, yeah, I totally understand the difficulties and I hope to never sound entitled when asking for things from volunteers! I just like to make sure that I do report issues that might not have been recognised. |
There is an option, that comes to my mind, that would be possible: Some docker images like e.g. nginx have different tags, with different things installed. There is We could add a tag for e.g. That would make sense to me, but we have to ask the actual maintainers of this repo / image, if that would be a good idea or if they would have other solutions. |
It's late in the day, and I Just realized, that you were the person who commented haskell/haskell-language-server#4493 (comment) 😂 🤦🏼♂️ |
It is a real issue and it's always good to talk publicly about it, I noticed the issue, and just fixed some local things and things in my CI and never commented anywhere about it. I also assume, that over on https://github.com/haskell/haskell-language-server this problem is known by maintainers, but there are some reason, that it was not fixed / solved in some way. So finding a solution by all tools and things that depend on each other is a good start. And raising issues should never be withheld on the fear of being told, that asking would be rude / inappropriate. OSS as I know it depends on people seeing issues in the tool that they use, raising concerns and eventually also create PRs, that fix that 😄 At least that was also the thing I did in this PR, by bumping GHC to 9.8.4 as I also needed an docker image, that supports https://www.stackage.org/lts-23.8 😄 |
Bumping 9.8.2 to 9.8.4.
Adding a bullseye variant of version 9.8.4 based on #134
Stackage LTS 23 released recently, which needs ghc 9.8.4
Info
Download: https://downloads.haskell.org/ghc/9.8.4/
Blog: https://www.haskell.org/ghc/blog/20241202-ghc-9.8.4-released.html