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

[#20] Test with the more recent GHC #23

Merged
merged 4 commits into from
May 2, 2023
Merged

Conversation

Martoon-00
Copy link
Member

@Martoon-00 Martoon-00 commented Nov 29, 2022

Description

Make sure that the package builds with one of the most recent GHCs.

Related issue(s)

Partially resolves #20
Resolves #26

✅ Checklist for your Pull Request

Related changes (conditional)

  • Tests

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from
      silently reappearing again.
  • Documentation

  • Public contracts

    • Any modifications of public contracts comply with the Evolution
      of Public Contracts
      policy.
    • I added an entry to the changelog if my changes are visible to the users
      and
    • provided a migration guide for breaking changes if possible

Stylistic guide (mandatory)

@mxxun
Copy link

mxxun commented Jan 22, 2023

Hello!
Is there some way to help this PR along?
(It's the immediate step towards a hackage release compatible with fresh ghcs (#20), which would be nice to have.)

@Martoon-00
Copy link
Member Author

Hey! Thanks for the attention to this library!
Turns out that this PR is blocked on #24, some recent versions of the libraries cause failures. We'll try to fix this soon-ish.

Problem: there is a demand in using this package with the recent GHCs,
like GHC-9.2.4. And generally, we must periodically switch to the most
recent LTS and GHC.

Solution: add the quite recent GHC-9.2.7 version to CI build matrix.

LTS version has been bumped just recently to lts-19.33, and I don't want
to bump it further because there might be difficulties when using too
fresh releases. We will probably add the recent LTS to the CI build
matrix instead some later.
Problem: we have bumped the version bounds for some deps, but didn't
make a release yet.

Solution: bump package version to 0.9.1 to next make a release.
Problem: it turned out that the code for GHC extensions conversion that
we use from `haskell-src-meta` now does not handle the recently added
extensions, and on attempt to use the new LTS our interpolator fails
with pattern match error.

See #24 for
details.

Solution: use `spoon` to catch the pattern match failure.

Motivation: since the issued `haskell-src-meta` package version is
already on Hackage, there is not much we can do right now. Moreover,
some people wait for nyan-interpolation to work with the recent LTS.

So let's make it work at least somehow. I don't want to copy-paste the
canvas of code that `fromExtension` is, so I just use `teaspoon` to
catch the cases of extensions unhandled by `fromExtension` and ignore
them. As result, the most recent exceptions remain unsupported for now.

Separately I will try to fix `haskell-src-meta` and to make all the
extensions work the user will just need to bump their `haskell-src-meta`
dependency.
Problem: core subpackage has a changelog, but it's in a draft state.

Solution: fix it to start from the `0.9` version, and also add changes
for `0.9.1`.
@Martoon-00 Martoon-00 merged commit 1ab0d4b into master May 2, 2023
@Martoon-00 Martoon-00 deleted the martoon/bump-base branch May 2, 2023 11:40
@Martoon-00
Copy link
Member Author

I'm sorry for the delay. Just uploaded the 0.9.1 versions to hackage.

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