Files
haskell.nix/docs/reference/supported-ghc-versions.md
Hamish Mackenzie 638ed961a7 Remove nixpkgs 21.11 from CI and reduce tests (#1597)
The time taken to run CI is getting very long.  Hopefully removing nixpkgs 21.11 and no longer runs full tests for GHC 9.0.2 well make room for GHC 9.4.1.

Uses nixpkgs-unstable for broken out jobs.
2022-08-18 19:33:33 +12:00

2.6 KiB

Supported GHC Versions

The following GHC versions are defined in haskell.nix (there is a derivation for each, though not all are cached or tested by CI):

  • 8.4.4
  • 8.6.{1,2,3,4,5}
  • 8.8.{1,2,3,4}
  • 8.10.{1,2,3,4,5}
  • 9.0.1
  • 9.2.1
  • 9.2.2

The following table shows the Nixpkgs/GHC versions which are built/cached, and which of those are further tested. If you use a combination of Nixpkgs version and GHC version which is in this table, you should hit our cache, saving considering time by not building GHC and a few additional tools.

Note that if you try to use haskell.nix as an overlay over Nixpkgs from a standard Nixpkgs channel you will likely get a cache miss. To hit our cache you really should use an instance of Nixpkgs provided by haskell.nix itself.

Nixpkgs version Nixpkgs pinning GHC version compiler-nix-name Tested in CI?
22.05 nixpkgs-2205 8.6.5 ghc865 No
22.05 nixpkgs-2205 8.10.7 ghc8107 No
unstable nixpkgs-unstable 8.6.5 ghc865 No
unstable nixpkgs-unstable 8.8.4 ghc884 No
unstable nixpkgs-unstable 8.10.7 ghc8107 Yes
unstable nixpkgs-unstable 9.0.2 ghc902 No
unstable nixpkgs-unstable 9.2.4 ghc924 Yes

See ci.nix for the source of truth about what is built and tested (in the off chance this document is out-of-sync with your checkout).

See the getting started guide for instructions on how to set up Nix to take advantage of our cache when building. This guide also covers where to use the Nixpkgs pinning and compiler-nix-name settings from the table above. For further information, see the instructions for how to pin Nixpkgs.

See overlays/bootstrap.nix for a full list of all the valid compiler-nix-names beyond what's cached/tested in CI. You're free to use these, but be ready for longer build times.

Lastly, see instructions on adding new GHC versions in the event that what's in haskell.nix doesn't suit your needs.