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

Add ghc 9.6.7 #2343

Merged
merged 6 commits into from
Apr 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 40 additions & 40 deletions .github/workflows/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "Run tests with ghc966"
name: "Run tests with ghc967"

on:
pull_request:
Expand All @@ -22,120 +22,120 @@ jobs:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Running the nix-build tests..."
run: "./test/tests.sh ghc966 nix-build"
- name: "Run tests with ghc967: Running the nix-build tests..."
run: "./test/tests.sh ghc967 nix-build"

unit-tests:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Running the unit tests..."
run: "./test/tests.sh ghc966 unit-tests"
- name: "Run tests with ghc967: Running the unit tests..."
run: "./test/tests.sh ghc967 unit-tests"

runghc:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking that a nix-shell works for runghc..."
run: "./test/tests.sh ghc966 runghc"
- name: "Run tests with ghc967: Checking that a nix-shell works for runghc..."
run: "./test/tests.sh ghc967 runghc"

cabal:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking that a nix-shell works for cabal..."
run: "./test/tests.sh ghc966 cabal"
- name: "Run tests with ghc967: Checking that a nix-shell works for cabal..."
run: "./test/tests.sh ghc967 cabal"

cabal-doExactConfig:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking that a nix-shell works for cabal (doExactConfig component)..."
run: "./test/tests.sh ghc966 cabal-doExactConfig"
- name: "Run tests with ghc967: Checking that a nix-shell works for cabal (doExactConfig component)..."
run: "./test/tests.sh ghc967 cabal-doExactConfig"

tests-benchmarks:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking that a nix-shell works for a project with test-suite build-tools and benchmarks..."
run: "./test/tests.sh ghc966 tests-benchmarks"
- name: "Run tests with ghc967: Checking that a nix-shell works for a project with test-suite build-tools and benchmarks..."
run: "./test/tests.sh ghc967 tests-benchmarks"

multi-target:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking that a nix-shell works for a multi-target project..."
run: "./test/tests.sh ghc966 multi-target"
- name: "Run tests with ghc967: Checking that a nix-shell works for a multi-target project..."
run: "./test/tests.sh ghc967 multi-target"

shellFor-single-package:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking shellFor works for a cabal project, multiple packages..."
run: "./test/tests.sh ghc966 shellFor-single-package"
- name: "Run tests with ghc967: Checking shellFor works for a cabal project, multiple packages..."
run: "./test/tests.sh ghc967 shellFor-single-package"

shellFor-multiple-package:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking shellFor works for a cabal project, single package...y"
run: "./test/tests.sh ghc966 shellFor-multiple-package"
- name: "Run tests with ghc967: Checking shellFor works for a cabal project, single package...y"
run: "./test/tests.sh ghc967 shellFor-multiple-package"

shellFor-hoogle:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking shellFor works for a cabal project, single package..."
run: "./test/tests.sh ghc966 shellFor-hoogle"
- name: "Run tests with ghc967: Checking shellFor works for a cabal project, single package..."
run: "./test/tests.sh ghc967 shellFor-hoogle"

shellFor-not-depends:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking shellFor does not depend on given packages...y"
run: "./test/tests.sh ghc966 shellFor-not-depends"
- name: "Run tests with ghc967: Checking shellFor does not depend on given packages...y"
run: "./test/tests.sh ghc967 shellFor-not-depends"

maintainer-scripts:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking the maintainer scripts...y"
run: "./test/tests.sh ghc966 maintainer-scripts"
- name: "Run tests with ghc967: Checking the maintainer scripts...y"
run: "./test/tests.sh ghc967 maintainer-scripts"

plan-extra-hackages:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking that plan construction works with extra Hackages..."
run: "./test/tests.sh ghc966 plan-extra-hackages"
- name: "Run tests with ghc967: Checking that plan construction works with extra Hackages..."
run: "./test/tests.sh ghc967 plan-extra-hackages"

build-extra-hackages:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: Checking that package with extra Hackages can be build..."
run: "./test/tests.sh ghc966 build-extra-hackages"
- name: "Run tests with ghc967: Checking that package with extra Hackages can be build..."
run: "./test/tests.sh ghc967 build-extra-hackages"

hix:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Run tests with ghc966: End-2-end test of hix project initialization and flakes development shell ..."
run: "./test/tests.sh ghc966 hix"
- name: "Run tests with ghc967: End-2-end test of hix project initialization and flakes development shell ..."
run: "./test/tests.sh ghc967 hix"

# template:
# runs-on: [self-hosted, linux]
# steps:
# - uses: actions/checkout@v4
# - name: "Run tests with ghc966: End-2-end test of hix project initialization and flakes development shell ..."
# run: "./test/tests.sh ghc966 template"
# - name: "Run tests with ghc967: End-2-end test of hix project initialization and flakes development shell ..."
# run: "./test/tests.sh ghc967 template"

docs:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Test examples in documentation ..."
run: "./test/tests.sh ghc966 docs"
run: "./test/tests.sh ghc967 docs"

hydra-ifdLevel-0-and-1:
runs-on: [self-hosted, linux]
Expand Down Expand Up @@ -178,9 +178,9 @@ jobs:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Check closure size with ghc966"
- name: "Check closure size with ghc967"
run: |
nix-build build.nix -A maintainer-scripts.check-closure-size --argstr compiler-nix-name ghc966 -o check-closure-size.sh
nix-build build.nix -A maintainer-scripts.check-closure-size --argstr compiler-nix-name ghc967 -o check-closure-size.sh
echo "+++ Closure size (MB)"
./check-closure-size.sh

Expand Down Expand Up @@ -208,7 +208,7 @@ jobs:
- uses: actions/checkout@v4
- name: "Make sure non store paths like can be used as src"
run: |
nix-build build.nix -A maintainer-scripts.check-path-support --argstr compiler-nix-name ghc966 -o check-path-support.sh
nix-build build.nix -A maintainer-scripts.check-path-support --argstr compiler-nix-name ghc967 -o check-path-support.sh
./check-path-support.sh

haskell-nix-roots-do-not-require-IFDs:
Expand All @@ -218,12 +218,12 @@ jobs:
- name: "Check that the haskell.nix roots do not require IFDs"
run: nix build .#roots.x86_64-linux --accept-flake-config --option allow-import-from-derivation false

hydra-without-remote-builders-ghc966:
hydra-without-remote-builders-ghc967:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: "Check that evaluation of hydra jobs works without using remote builders for GHC 8.10.7"
run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc966-native --show-trace --builders ''
- name: "Check that evaluation of hydra jobs works without using remote builders for GHC 9.6.7"
run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc967-native --show-trace --builders ''

hydra-without-remote-builders-ghc9101:
runs-on: [self-hosted, linux]
Expand Down
7 changes: 3 additions & 4 deletions ci.nix
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
ghc912 = true;
} // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") {
ghc96 = true;
ghc96X = true;
ghc98 = true;
ghc98llvm = false;
ghc910 = true;
Expand All @@ -80,13 +79,13 @@
&& (__match ".*llvm" compiler-nix-name == null)
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"])
|| (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"])
|| (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc96720250227" "ghc982" "ghc983" "ghc984"])
|| (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc96720250227" "ghc982" "ghc983" "ghc984"])
|| (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc967" "ghc96720250227" "ghc982" "ghc983" "ghc984"])
|| (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc967" "ghc96720250227" "ghc982" "ghc983" "ghc984"])
)) {
inherit (lib.systems.examples) ghcjs;
} // lib.optionalAttrs (nixpkgsName == "unstable"
&& (__match ".*llvm" compiler-nix-name == null)
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc966" "ghc96720250227"]) # Not sure why GHC 9.6.6 TH code now wants `log1pf`
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc966" "ghc967" "ghc96720250227"]) # Not sure why GHC 9.6.6 TH code now wants `log1pf`
|| (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity
inherit (lib.systems.examples) mingwW64;
} // lib.optionalAttrs (nixpkgsName == "unstable"
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/supported-ghc-versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ really should use an instance of Nixpkgs provided by `haskell.nix` itself.

| Nixpkgs version | Nixpkgs pinning | GHC version | `compiler-nix-name` | Tested in CI? |
|------------------|--------------------|-------------|-----------------------|---------------|
| unstable | `nixpkgs-unstable` | 9.6.6 | `ghc96` or `ghc966` | Yes |
| unstable | `nixpkgs-unstable` | 9.6.7 | `ghc96` or `ghc967` | Yes |
| unstable | `nixpkgs-unstable` | 9.8.4 | `ghc98` or `ghc984` | Yes |
| unstable | `nixpkgs-unstable` | 9.10.1 | `ghc910` or `ghc9101` | Yes |
| unstable | `nixpkgs-unstable` | 9.12.2 | `ghc912` or `ghc9122` | Yes |
Expand Down
2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@

ifdLevel = 3;
runningHydraEvalTest = false;
defaultCompiler = "ghc966";
defaultCompiler = "ghc967";
config = import ./config.nix;

inherit (nixpkgs) lib;
Expand Down
1 change: 1 addition & 0 deletions lazy-inputs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ in {
inherit ((callFlake { pkgs = final; src = ./ghc964; }).defaultNix) ghc964;
inherit ((callFlake { pkgs = final; src = ./ghc965; }).defaultNix) ghc965;
inherit ((callFlake { pkgs = final; src = ./ghc966; }).defaultNix) ghc966;
inherit ((callFlake { pkgs = final; src = ./ghc967; }).defaultNix) ghc967;
inherit ((callFlake { pkgs = final; src = ./ghc96X; }).defaultNix) ghc96X;
inherit ((callFlake { pkgs = final; src = ./ghc981; }).defaultNix) ghc981;
inherit ((callFlake { pkgs = final; src = ./ghc982; }).defaultNix) ghc982;
Expand Down
30 changes: 30 additions & 0 deletions lazy-inputs/ghc967/flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions lazy-inputs/ghc967/flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
description = "Lazy Input for Haskell.nix";

inputs = {
ghc967 = {
flake = false;
url = "git+https://github.com/stable-haskell/ghc?ref=ghc-9.6.7-iog&submodules=1";
};
};

outputs = inputs: inputs;
}
49 changes: 49 additions & 0 deletions materialized/ghc-boot-packages-nix/ghc967-aarch64/base.nix

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading