Conversation
Update tested-with to contain all major ghc versions that satisfy base>=4.12
Generate a github ci action for haskell#166 using https://github.com/haskell-CI/haskell-ci.
L0neGamer
left a comment
There was a problem hiding this comment.
Should the ghc ci that lives with the MHS stuff be removed as part of this?
No. That was a request implemented in #161. I think we should still let the ci compile against MHS (even if we have to do that manually, seeing that see: #166 (comment) for the discussion |
|
I meant more that the manually made CI still tests a bunch of ghc versions, although I now note that the generated CI looks like it only tests on Ubuntu |
|
You're correct that we can drop a few ghc versions from ci.yml. |
|
Thanks for the work on this @meipp. Asking sincerely to all convo participants: What benefits does this have over what we had before, besides the closing of a GitHub issue? |
|
Everyone has different preferences. I personally dislike haskell-ci and any generated CI code for that matter. If you want to dynamically test the latest x GHC versions, I wrote a blog about how to do that with just the ghcup-setup action: https://hasufell.github.io/posts/2026-01-22-dynamic-ghcup-action.html |
|
I'm honestly on board with dropping/denying haskell-ci. I found the generated file hardly readable, and seeing that it is not mature enough to cover all of our use cases maybe we shouldn't adopt it. If we still want to support all major versions, that is easily done manually too. Maybe do that, and then test windows and macos against one ghc version for the peace of mind. Interested in your opinion @andreasabel. |
|
I think there are a number of reasons to dislike haskell-ci. I have the following issues with your approach which is otherwise very slick: The former could be managed by commenting up the shell script a lot more in our variant, and the latter can be achieved by asking for an "early version" to search from. I invite further comments on this though. Edit: re: advantages: somewhat outsourcing what's managing our ci reduces what needs to be understood about our setup. With haskell-ci, one defers understanding of what the ci does to those maintainers. |
|
For tested-with there is https://github.com/Kleidukos/get-tested |
| # | ||
| # For more information, see https://github.com/haskell-CI/haskell-ci | ||
| # | ||
| # version: 0.19.20260209 |
There was a problem hiding this comment.
This version does not have 9.12.4, latest is 9.12.2. So 9.12 is not covered now.
Unfortunately, if you want 9.12.4, you have to build Haskell CI from PR haskell-CI/haskell-ci#814
|
What Haskell-CI has but most hand-knitted CIs do not:
It is ok to hate Haskell-CI as long as one provides a CI script that has the features I just listed. I never bothered to hand-engineer this so I use Haskell-CI by default, often as complement to some Stack-centered CI, or some hand-knitted Cabal-centered CI on MacOS/Windows. |
3 is more interesting. Can you elaborate how this is done? |
This is done, afaik, by writing out a |
|
I don't know if it addresses 3—I think it does—but regardless, it would be nice to test with Stack as well as Cabal, since that's a very important target. |
|
I created an alternative that pretty much does everything that was said here: #182 |
Implements #166.