feat(ghc): add GHC 9.10.3 support for ARM64 macOS
Summary
Add support for GHC 9.10.3 across supported platforms (Linux and macOS).
- Add stackage snapshot configuration using LTS 24.19
- Update CI workflow matrix to test GHC 9.10.3
- Exclude Windows and bzlmod builds (consistent with recent GHC versions)
Changes
- Created
stackage_snapshot_9.10.3.yamlwith LTS 24.19 resolver - Added GHC 9.10.3 to CI test matrices for nixpkgs and bindist workflows
- Added symlink in
rules_haskell_tests/for test snapshot
Notes
The GHC 9.10.3 binary distributions already exist in ghc_bindist_generated.json for all platforms (darwin_amd64, darwin_arm64, linux_amd64, linux_arm64, windows_amd64).
Windows and bzlmod support excluded following the pattern of GHC 9.6.5 and 9.8.2.
Test Plan
- CI will test GHC 9.10.3 on Ubuntu 24.04 and macOS 14
- Both nixpkgs and bindist toolchains will be tested
- All three workspaces (rules_haskell, rules_haskell_nix, rules_haskell_tests) covered
@avdv Thanks for the review! Fixed and pushed.
The ghcide-snapshot_9.10.3.json generation required two additional fixes in ghcide-stack-snapshot_9.10.3.yaml:
-
Fixed resolver: Changed from
nightly-2024-12-10tonightly-2024-12-11- the former doesn't exist in Stackage (GHC 9.10 nightly started on Dec 11, 2024) -
Added missing packages:
lsp-2.7.0.0andlsp-types-2.3.0.0- these are not included innightly-2024-12-11but are required dependencies for ghcide 2.9.0.0
@avdv Thanks for the review! Fixed and pushed.
The
ghcide-snapshot_9.10.3.jsongeneration required two additional fixes inghcide-stack-snapshot_9.10.3.yaml:1. **Fixed resolver**: Changed from `nightly-2024-12-10` to `nightly-2024-12-11` - the former doesn't exist in Stackage (GHC 9.10 nightly started on Dec 11, 2024) 2. **Added missing packages**: `lsp-2.7.0.0` and `lsp-types-2.3.0.0` - these are not included in `nightly-2024-12-11` but are required dependencies for ghcide 2.9.0.0
Thanks, that makes sense. I just pushed some changes to use an lts revision instead of a nightly and pinned the two other snapshots. Hopefully, these will succeed now. :crossed_fingers:
\edit: it failed for the test-haddock test which needs to be adapted to new compiler versions. I took the opportunity to replace the test with a unittest that checks against the output files with version suffixes removed.
I fixed a few of the remaining test failures but there are some left. Could you look into them, I probably won't be able to on the next days?!