summary refs log tree commit diff
path: root/maintainers/scripts/haskell/test-configurations.nix
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2021-12-15 11:23:42 +0100
committersterni <sternenseemann@systemli.org>2021-12-15 17:23:04 +0100
commitca91080b21890aacef4e7b9e9465abcb37920aac (patch)
treedae9785a93d1343552f824c431d78f7293e5c210 /maintainers/scripts/haskell/test-configurations.nix
parent65de104e6c540e4dfab3c7fb07dbcd95c8731231 (diff)
downloadnixpkgs-ca91080b21890aacef4e7b9e9465abcb37920aac.tar
nixpkgs-ca91080b21890aacef4e7b9e9465abcb37920aac.tar.gz
nixpkgs-ca91080b21890aacef4e7b9e9465abcb37920aac.tar.bz2
nixpkgs-ca91080b21890aacef4e7b9e9465abcb37920aac.tar.lz
nixpkgs-ca91080b21890aacef4e7b9e9465abcb37920aac.tar.xz
nixpkgs-ca91080b21890aacef4e7b9e9465abcb37920aac.tar.zst
nixpkgs-ca91080b21890aacef4e7b9e9465abcb37920aac.zip
maintainers/scripts/test-configurations.nix: skip binary GHCs
While being able to test them is neat (on x86_64-linux they work very
well, actually), we usually don't want to do this, since the set is
only (recommended to be) used to bootstrap GHC. Consequently there is
almost no binary cache and testing them mostly leads to unenlightening
and seemingly endless compilation.
Diffstat (limited to 'maintainers/scripts/haskell/test-configurations.nix')
-rw-r--r--maintainers/scripts/haskell/test-configurations.nix14
1 files changed, 12 insertions, 2 deletions
diff --git a/maintainers/scripts/haskell/test-configurations.nix b/maintainers/scripts/haskell/test-configurations.nix
index ed5d2fe066f..05f26f86147 100644
--- a/maintainers/scripts/haskell/test-configurations.nix
+++ b/maintainers/scripts/haskell/test-configurations.nix
@@ -39,6 +39,12 @@
      nix-build maintainers/scripts/haskell/test-configurations.nix \
        --arg config '{ allowBroken = false; }' --keep-going
 
+   By default the haskell.packages.ghc*Binary sets used for bootstrapping GHC
+   are _not_ tested. You can change this using:
+
+     nix-build maintainers/scripts/haskell/test-configurations.nix \
+       --arg skipBinaryGHCs false --keep-going
+
 */
 { files ? [
     "configuration-common.nix"
@@ -48,6 +54,7 @@
 , nixpkgsPath ? ../../..
 , config ? { allowBroken = true; }
 , skipEvalErrors ? true
+, skipBinaryGHCs ? true
 }:
 
 let
@@ -70,8 +77,11 @@ let
         builtins.match "ghc-([0-9]+).([0-9]+).x" configName
       );
       # return all package sets under haskell.packages matching the version components
-      setsForVersion = builtins.map (name: pkgs.haskell.packages.${name}) (
-        builtins.filter (lib.hasPrefix "ghc${configVersion}") (
+      setsForVersion =  builtins.map (name: pkgs.haskell.packages.${name}) (
+        builtins.filter (setName:
+          lib.hasPrefix "ghc${configVersion}" setName
+          && (skipBinaryGHCs -> !(lib.hasInfix "Binary" setName))
+        ) (
           builtins.attrNames pkgs.haskell.packages
         )
       );