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

Add support for summoning GHC 9.2.8, 9.4.8, and 9.6.6 #570

Merged
merged 1 commit into from
Sep 20, 2024

Conversation

noughtmare
Copy link
Contributor

@noughtmare noughtmare commented Jun 18, 2023

I've also updated the latest Stackage snapshots of 8.10.7 and 9.0.2.

@noughtmare noughtmare requested a review from vrom911 as a code owner June 18, 2023 14:45
@noughtmare noughtmare changed the title Add support for summoning GHC 9.2.8 and 9.4.5 Add support for summoning GHC 9.2.8, 9.4.5, and 9.6.2 Aug 10, 2023
@noughtmare
Copy link
Contributor Author

noughtmare commented Aug 10, 2023

@willbasky I've implemented your suggestion, thanks.

@vrom911 can you please review this?

@willbasky willbasky self-requested a review August 10, 2023 11:28
@willbasky
Copy link
Collaborator

@noughtmare The tests need the updates.

@noughtmare
Copy link
Contributor Author

I've used gg to update the golden tests.

@willbasky
Copy link
Collaborator

What a nice tool!

@noughtmare
Copy link
Contributor Author

It seems the CI also needed updating.

@noughtmare
Copy link
Contributor Author

Oh, of course summoner itself doesn't build on 9.6.2

@noughtmare
Copy link
Contributor Author

And that's blocked on shellmet, at least.

@willbasky
Copy link
Collaborator

Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.6.2.0 supports 'ghc' version < 9.4): /home/runner/.ghcup/bin/ghc is version 9.6.2

< 9.4 yes, building summoner with 9.4.5 and 9.6.2 has no ways right now.

Also, instead of 9.2.4 we could build on 9.2.8

@noughtmare
Copy link
Contributor Author

noughtmare commented Aug 10, 2023

But if we can't build on 9.4.5 and 9.6.2 then we also can't test if summoning those versions work, except perhaps if we would build summoner with a different version of GHC than what we use to test the summoned project.

@willbasky
Copy link
Collaborator

Do the golden tests check if the 'project that is made with specific ghc in configs' is built with that ghc?
In other words:

  1. Summoner makes project with ghc version X.
  2. Tests tried to build made project.
    Is it?

@noughtmare
Copy link
Contributor Author

I think you're right that the tests only check things like 1, but then I don't understand why it did not work before I changed the CI. I'll revert that and we can try again.

@noughtmare
Copy link
Contributor Author

noughtmare commented Aug 10, 2023

Neat, the old results are still here.

Ah, so it's actually a separate CI action that tries to build the minimal project.

@willbasky
Copy link
Collaborator

If checks within 9.6.2 will pass then we could left checks for 9.4.5 too

@noughtmare
Copy link
Contributor Author

I've now added 9.4.5 too

@noughtmare
Copy link
Contributor Author

Now it should work...

@noughtmare
Copy link
Contributor Author

I've squashed the commits

@willbasky
Copy link
Collaborator

@noughtmare
Copy link
Contributor Author

noughtmare commented Aug 12, 2023

@willbasky there will be a 9.4.7 soon, so I think we should skip 9.4.6.

@Vekhir
Copy link

Vekhir commented Sep 12, 2023

Hi, GHC 9.4.7 is now available, and slated to be the final release of the 9.4 series. Anything blocking this from merging?

@Vekhir
Copy link

Vekhir commented Oct 7, 2023

@kowainik @vrom911 @noughtmare @willbasky What is the plan to proceed with this PR to enable summoner to support GHC 9.2, 9.4, and 9.6?
GHC 9.4.7 has been released, together with a new release 9.6.3.

A new version of summoner on Hackage would also be much appreciated, as it's needed for the Arch package

@noughtmare
Copy link
Contributor Author

@Vekhir I think this package has been abandoned. I'm personally not motivated enough to fork and initiate the package takeover process. So I think not much is going to change any time soon.

@Vekhir
Copy link

Vekhir commented Oct 7, 2023

Alright, thanks for your reply.

@willbasky
Copy link
Collaborator

willbasky commented Oct 7, 2023

@Vekhir Hi, I tried to message to @vrom911 in social media she didn't answer. As for me I haven't the right to merge here anything without second approval I guess. I am sorry.

@Vekhir Vekhir mentioned this pull request Dec 18, 2023
@tomjaguarpaw tomjaguarpaw self-requested a review September 19, 2024 15:21
Comment on lines 57 to 59

- name: Configure
- if: matrix.ghc != '9.4.5' && matrix.ghc != '9.6.2'
name: Configure
Copy link
Contributor

Choose a reason for hiding this comment

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

I am a kowainik assistant maintainer and I can merge this. However, could you please first explain why some of the steps have been disabled for 9.4.5 and 9.6.2?

Copy link

@Vekhir Vekhir Sep 19, 2024

Choose a reason for hiding this comment

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

@tomjaguarpaw Not OP, but see this comment here: #570 (comment)

Also see the summoner.cabal:

build-depends: base >= 4.11 && < 4.17

and summoner-tui.cabal:
build-depends: base >= 4.11 && < 4.17

In essence, summoner doesn't build with 9.4 and 9.6 due to too restrictive base (<4.17). It can still summon them, just doesn't build with them. 9.4 can probably be just bumped, but 9.6 has a compile issue: #575

Copy link
Contributor

Choose a reason for hiding this comment

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

OK, let's fix summoner first to build with 9.4 and 9.6 rather than adding these special cases.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, @Vekhir is right. At least at the time some of summoner's dependencies were not updated yet to those GHC versions.

@tomjaguarpaw do you want me to try building it again (and I could add some newer GHC versions while I'm at it)? Or do we want to merge this first and fix the other things later?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'll get summoner building on the latest GHCs, and when that's done you can rebase this MR on top (hopefully without special cases).

Copy link
Contributor

Choose a reason for hiding this comment

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

OK, main now builds on up to 9.6. Could you please rebase your branch and remove the special cases?

@noughtmare noughtmare changed the title Add support for summoning GHC 9.2.8, 9.4.5, and 9.6.2 Add support for summoning GHC 9.2.8, 9.4.8, and 9.6.6 Sep 20, 2024
@noughtmare
Copy link
Contributor Author

I've rebased and changed 9.4.5 to 9.4.8 and 9.6.2 to 9.6.6 with the latest stackage lts.

@noughtmare
Copy link
Contributor Author

Oh, now the golden tests have changed again

@noughtmare
Copy link
Contributor Author

Now it might work. There are still two things that could be updated:

  • the tested-with fields in summoner-cli and summoner-tui themselves
  • the stack version in the stack ci job

@tomjaguarpaw
Copy link
Contributor

Cool, thanks! If you feel like making the other updates then please do, but for things like tested-with I find them too difficult to keep up to date if they're not checked by tooling.

@tomjaguarpaw tomjaguarpaw merged commit c9d048e into kowainik:main Sep 20, 2024
15 checks passed
@tomjaguarpaw
Copy link
Contributor

Feel free to create another PR with the updates above.

@noughtmare @willbasky @Vekhir thanks for pushing this through!

@Vekhir
Copy link

Vekhir commented Sep 20, 2024

@tomjaguarpaw Thanks for merging! Quick question: Do you also have the permissions to push Hackage releases? That would be quite useful in combination with this PR.

@tomjaguarpaw
Copy link
Contributor

I've asked Veronika and she says she can give me Hackage permissions in a couple of weeks.

@Vekhir
Copy link

Vekhir commented Sep 21, 2024

Alright.

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.

4 participants