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

Ghc 9.8 upgrade #1460

Merged
merged 28 commits into from
Aug 21, 2024
Merged

Ghc 9.8 upgrade #1460

merged 28 commits into from
Aug 21, 2024

Conversation

csasarak
Copy link
Contributor

@csasarak csasarak commented Aug 16, 2024

Overview

This PR is to upgrade us to be on GHC 9.8. There are a few reasons I think this is good:

  1. 9.8 is still being developed and is considered stable. 9.4 is considered stable and is recommended by ghcup, but will not have any future releases.
  2. Bindists for aarch that are built against musl are officially available starting with GHC 9.8.2. This makes a release for Linux ARM much more doable on GHC 9.8.2 and above than GHC 9.4.

Release Notes and 9.4 -> 9.6 migration guide.
Release Notes and 9.6 -> 9.8 migration guide.

Very few of the changes to GHC or boot libraries seem to affect us day to day. Things that will:

  • The removal of Alternative instances for Either (docs) which was easily handled because the Semigroup instance for Either behaves the right way.
  • There is a new compiler warning for partial functions head/tail as proposed here. I've turned these off for our CI builds because we already check for these using hlint to do this in a more refined way. They will be on for developers, but as warnings.

Acceptance criteria

  • Fossa CLI builds with GHC 9.8 in CI.
  • All automated tests work.

Testing plan

  • I used automated testing.
  • I downloaded the mac intel binary and verified that both embedded binaries not in this repository were callable.

Risks

I don't think there are any that can be addressed further than I have.

Metrics

References

ANE-1757

Checklist

  • I added tests for this PR's change (or explained in the PR description why tests don't make sense).
  • If this PR introduced a user-visible change, I added documentation into docs/.
  • If this PR added docs, I added links as appropriate to the user manual's ToC in docs/README.ms and gave consideration to how discoverable or not my documentation is.
  • If this change is externally visible, I updated Changelog.md. If this PR did not mark a release, I added my changes into an # Unreleased section at the top.
  • If I made changes to .fossa.yml or fossa-deps.{json.yml}, I updated docs/references/files/*.schema.json AND I have updated example files used by fossa init command. You may also need to update these if you have added/removed new dependency type (e.g. pip) or analysis target type (e.g. poetry).
  • If I made changes to a subcommand's options, I updated docs/references/subcommands/<subcommand>.md.

@csasarak csasarak marked this pull request as ready for review August 19, 2024 17:58
@csasarak csasarak requested a review from a team as a code owner August 19, 2024 17:58
There is a community fork which may be more reliable/up-to-date anyway:
https://learnyouahaskell.github.io.
Copy link
Contributor

@JeffreyHuynh1 JeffreyHuynh1 left a comment

Choose a reason for hiding this comment

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

I don't see any issues with the upgrade and the passing tests give me confidence that it's a safe change! Also looked over the release notes for the subsequent upgrades and they're pretty minimal changes.

@csasarak csasarak enabled auto-merge (squash) August 21, 2024 20:51
@csasarak csasarak merged commit f58402e into master Aug 21, 2024
17 of 18 checks passed
@csasarak csasarak deleted the ghc-9.8-upgrade branch August 21, 2024 21:03
@csasarak csasarak mentioned this pull request Sep 11, 2024
6 tasks
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