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

Added kleidukos/get-tested action to generate CI matrix #64 #190

Merged
merged 3 commits into from
Mar 6, 2024

Conversation

DavidMazarro
Copy link
Member

@DavidMazarro DavidMazarro commented Feb 6, 2024

Thanks to the get-tested action, we can automatically generate the matrix of GHC versions to run the CI on. This keeps the tested-with versions we set in Cabal files accurate to what is actually being tested in the CI.

Since the action takes one Cabal file as reference, I pointed it to rollbar-client.cabal since that is the main library in this repository. In any case, us maintainers need to keep all of the tested-with versions in sync across the four Haskell packages we offer in this repository.

This PR also changes the tested-with versions of the Cabal in the project to the latest minor versions of GHC 8.10 (the latest GHC 8 version), GHC 9.6 and GHC 9.8 (the two most recent GHC 9 versions).

Closes #189.

@DavidMazarro DavidMazarro added the ci label Feb 6, 2024
@DavidMazarro DavidMazarro self-assigned this Feb 6, 2024
@DavidMazarro DavidMazarro force-pushed the ci-get-tested-matrix branch 5 times, most recently from 536e64f to e7097bb Compare February 6, 2024 13:13
@DavidMazarro
Copy link
Member Author

In addition to the GHC versions found in the tested-with, since we also had a manual GHC 9.2 version with a macos-latest runner, I tried including that too. However, from the research I've done it looks like GitHub Actions doesn't support the addition of runners to dynamically generated matrices, so I couldn't do it with by using includes. I couldn't find an easy way to extend the generated JSON either, I found some examples online but they envolved a mix of tricks with different commands and jq. If anyone knows how we could add the GHC 9.2 + macOS runner to the matrix generated by the get-tested action, let me know.

That said, should consider if we want to add the macos-latest runner to the matrix generation, which means it would run on all GHC versions. I believe macOS runners are also free for open source repositories. So unless the pricing is different for open source repos under organizations, it shouldn't cost us any extra to spin up a macos-latest runner for all of the GHC versions instead of just one, and we wouldn't have to keep track and update that isolated version in our CI workflow. Let me know your thoughts on this 🙂

@CristhianMotoche
Copy link
Collaborator

CristhianMotoche commented Feb 20, 2024

Hi @DavidMazarro Thank you so much for working on this! We already have 5 ubuntu instances running. If we add macos to the matrix that will be 10. It seems a little bit too much. Let's look for an easy way to run macos for the last version of GHC. If we don't find one then we may want to keep the previous set up.

From now on we will be officially supporting the latest minor versions of GHC 8.10, GHC 9.6 and GHC 9.8
@DavidMazarro
Copy link
Member Author

After discussing internally, we have decided that we will keep parity between Ubuntu and macOS runners, and we will be cutting the amount of GHC versions we test with. I updated the PR description with more details.

Copy link
Collaborator

@CristhianMotoche CristhianMotoche left a comment

Choose a reason for hiding this comment

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

LGTM!

@DavidMazarro DavidMazarro merged commit 4ab1847 into main Mar 6, 2024
7 checks passed
@DavidMazarro DavidMazarro deleted the ci-get-tested-matrix branch March 6, 2024 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use kleidukos/get-tested and include GHC supported versions in cabal file
2 participants