Skip to content
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

Update supported GHC list #58

Closed

Conversation

parsonsmatt
Copy link
Contributor

This PR drops GHC < 7.10 support and adds CI for GHC 9.0 and 9.2

According to the State of Haskell 2021 Survey, fewer than 1% of respondents were using GHC < 8.2.

GHC 7.10 was released seven years ago, which is a pretty huge maintenance window.

It's difficult to even install or build things with GHCs that old. I was able to get the repo building with stack and --resolver lts-6, but prior resolvers had problems with Cabal and needed older stack versions. ghcup doesn't provide anything older than 7.10.3, and I wasn't even able to get that to build the library on my machine.

@parsonsmatt parsonsmatt requested a review from sol March 15, 2022 13:24
@@ -16,18 +16,17 @@ jobs:
strategy:
matrix:
os:
- ubuntu-16.04 # https://launchpad.net/~hvr/+archive/ubuntu/ghc?field.series_filter=xenial
- ubuntu-latest
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI was failing because no build boxes were available for this for over a day. Trying this to see if it'll work

@parsonsmatt
Copy link
Contributor Author

@sol This is a pretty big change in terms of what is being dropped, but I would be really surprised if anyone is impacted by this. There are, after all, lots of hspec versions that claim to support older GHCs. This gets CI passing and allows other things to get merged in more easily. Any objections?

@sol
Copy link
Member

sol commented Mar 25, 2022

@parsonsmatt I think if we use ubuntu-18.04 on CI it should be easy to keep support for older versions of GHC (as we do for hspec).

@parsonsmatt
Copy link
Contributor Author

Indeed, getting the ubuntu-18.04 box in CI got everything passing back down to GHC 7.4.

I am curious what the point of supporting GHCs so old is. Is this a firm commitment (eg we won't incorporate features that will break for old GHC / we'll use CPP to preserve old GHC compatibility), or more of a "well we'll keep it working as long as we can, and won't break it until we know we have to" sort of thing?

@@ -16,7 +16,7 @@ jobs:
strategy:
matrix:
os:
- ubuntu-16.04 # https://launchpad.net/~hvr/+archive/ubuntu/ghc?field.series_filter=xenial
- ubuntu-18.04 # latest # https://launchpad.net/~hvr/+archive/ubuntu/ghc?field.series_filter=xenial
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@parsonsmatt not a big thing, but I guess we should remove the latest from the comment. Other than that it's good to go.

@sol
Copy link
Member

sol commented Mar 26, 2022

@parsonsmatt please squash the commits and rebase.

@sol
Copy link
Member

sol commented Mar 26, 2022

I am curious what the point of supporting GHCs so old is. Is this a firm commitment (eg we won't incorporate features that will break for old GHC / we'll use CPP to preserve old GHC compatibility), or more of a "well we'll keep it working as long as we can, and won't break it until we know we have to" sort of thing?

I'm willing to discuss dropping support for older GHCs at the point it provides tangible user value.

@sol
Copy link
Member

sol commented Mar 30, 2022

Closing in favor of #59.

@sol sol closed this Mar 30, 2022
@sol
Copy link
Member

sol commented Mar 30, 2022

Rational: The track record of haskell/actions/setup is not that great (e.g. haskell/actions#80 - silently used the wrong version of GHC). Also, the repo structure does not allow for publishing to GitHub marketplace. I'll do a more thorough write up in the README of hspec/setup-haskell when I get to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants