on master help sign in
nix: Build on GHC 8.8 as well
407b588Sridhar Ratnakumar
.github/workflows/ci.yaml+2
@@ -13,3 +13,5 @@ jobs:
13 experimental-features = nix-command flakes
13 experimental-features = nix-command flakes
14 - name: Build and test ๐Ÿ”ง
14 - name: Build and test ๐Ÿ”ง
15 run: nix build -j 4 -L
15 run: nix build -j 4 -L
16+ - name: Build and test (GHC 8.8) ๐Ÿ”ง
17+ run: nix build -j 4 -L .#jrec-ghc88
flake.lock+18โˆ’1
@@ -34,6 +34,22 @@
34 "type": "github"
34 "type": "github"
35 }
35 }
36 },
36 },
37+ "nixpkgs-ghc88": {
38+ "locked": {
39+ "lastModified": 1596466290,
40+ "narHash": "sha256-V1vrlYfVEdW4iauUc58LCtorSxLLF+X/PhjD5+dQjeQ=",
41+ "owner": "nixos",
42+ "repo": "nixpkgs",
43+ "rev": "76f2e271a2ef9de3734dcc9d366a42d6bfb18e82",
44+ "type": "github"
45+ },
46+ "original": {
47+ "owner": "nixos",
48+ "ref": "76f2e271a2ef",
49+ "repo": "nixpkgs",
50+ "type": "github"
51+ }
52+ },
37 "nixpkgs-lib": {
53 "nixpkgs-lib": {
38 "locked": {
54 "locked": {
39 "dir": "lib",
55 "dir": "lib",
@@ -55,7 +71,8 @@
55 "root": {
71 "root": {
56 "inputs": {
72 "inputs": {
57 "flake-parts": "flake-parts",
73 "flake-parts": "flake-parts",
58โˆ’ "nixpkgs": "nixpkgs"
74+ "nixpkgs": "nixpkgs",
75+ "nixpkgs-ghc88": "nixpkgs-ghc88"
59 }
76 }
60 }
77 }
61 },
78 },
flake.nix+10โˆ’4
@@ -1,6 +1,7 @@
1{
1{
2 inputs = {
2 inputs = {
3 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
3 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
4+ nixpkgs-ghc88.url = "github:nixos/nixpkgs/76f2e271a2ef";
4 flake-parts.url = "github:hercules-ci/flake-parts";
5 flake-parts.url = "github:hercules-ci/flake-parts";
5 };
6 };
6 outputs = inputs@{ nixpkgs, flake-parts, ... }:
7 outputs = inputs@{ nixpkgs, flake-parts, ... }:
@@ -11,17 +12,22 @@
11 overlay = self: super: {
12 overlay = self: super: {
12 jrec = self.callCabal2nix "jrec" ./. { };
13 jrec = self.callCabal2nix "jrec" ./. { };
13 };
14 };
15+ ghcVersions = {
16+ ghc88 = inputs.nixpkgs-ghc88.legacyPackages.${system}.haskellPackages.extend overlay;
14โˆ’ haskellPackages' = pkgs.haskellPackages.extend overlay;
17+ ghc92 = pkgs.haskellPackages.extend overlay;
18+ };
15 in
19 in
16 {
20 {
17โˆ’ packages.default = haskellPackages'.jrec;
21+ packages.default = ghcVersions.ghc92.jrec;
18โˆ’ devShells.default = haskellPackages'.shellFor {
22+ devShells.default = ghcVersions.ghc92.shellFor {
19 packages = p: [ p.jrec ];
23 packages = p: [ p.jrec ];
20โˆ’ buildInputs = with haskellPackages'; [
24+ buildInputs = with ghcVersions.ghc92; [
21 cabal-install
25 cabal-install
22 haskell-language-server
26 haskell-language-server
23 ];
27 ];
24 };
28 };
29+ # Expose jrec built with GHC 8.8 so it can be tested in CI.
30+ packages.jrec-ghc88 = ghcVersions.ghc88.jrec;
25 };
31 };
26 };
32 };
27}
33}