Skip to content

Conversation

@lexfrei
Copy link

@lexfrei lexfrei commented Nov 19, 2025

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.yaml with 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

Add support for GHC 9.10.3 on ARM64 macOS platform:
- Add stackage snapshot using LTS 24.19
- Update CI workflow to test GHC 9.10.3 on supported platforms
- Exclude Windows and bzlmod for 9.10.3 (consistent with other recent GHC versions)

The GHC 9.10.3 bindist configuration already exists in ghc_bindist_generated.json.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Aleksei Sviridkin <[email protected]>
@lexfrei lexfrei requested a review from avdv as a code owner November 19, 2025 16:09
@lexfrei lexfrei force-pushed the feat/add-ghc-9.10.3-arm64-macos branch from 5e90581 to 0aee9b8 Compare November 19, 2025 16:10
GHC 9.10.3 is not available in the current nixpkgs pin (2024-07-02).
Exclude it from test-nixpkgs job while keeping bindist tests which work.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Aleksei Sviridkin <[email protected]>
@lexfrei lexfrei marked this pull request as draft November 20, 2025 12:04
Add generated stackage snapshot JSON files for GHC 9.10.3:
- stackage_snapshot_9.10.3.json in root and rules_haskell_tests/
- Additional test snapshot YAML files (ghcide, pinning-test)
- Update test_haddock.bzl with expected values for GHC 9.10.3

Also add CLAUDE.md with project guidance for Claude Code.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Aleksei Sviridkin <[email protected]>
@lexfrei lexfrei marked this pull request as ready for review November 20, 2025 16:10
Copy link
Member

@avdv avdv left a comment

Choose a reason for hiding this comment

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

Thank you, that looks good!

The only real error on CI (apart from the ones due to haskell/hackage-server#1366 and because of #2346) is this:

ERROR: /Users/runner/work/rules_haskell/rules_haskell/rules_haskell_tests/tests/ghcide/BUILD.bazel:5:9: no such package '@ghcide-exe//ghcide': no such package '@ghcide//': Not a regular file: /Users/runner/work/rules_haskell/rules_haskell/rules_haskell_tests/ghcide-snapshot_9.10.3.json and referenced by '//tests/ghcide:ghcide'

You need to run GHC_VERSION=9.10.3 bazel @ghcide-unpinned//:pin and commit the ghcide-snapshot_9.10.3.json file.

Fix ghcide-stack-snapshot_9.10.3.yaml to use correct nightly resolver
(nightly-2024-12-11 instead of non-existent nightly-2024-12-10) and add
missing lsp and lsp-types packages. Generate ghcide-snapshot_9.10.3.json
for GHC 9.10.3 test support.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Aleksei Sviridkin <[email protected]>
@lexfrei
Copy link
Author

lexfrei commented Dec 2, 2025

@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:

  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

@avdv
Copy link
Member

avdv commented Dec 4, 2025

@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:

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. 🤞

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