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

top-level/release-haskell.nix: test static linking as well #124025

Merged
Merged
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
24 changes: 24 additions & 0 deletions pkgs/top-level/release-haskell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ let

recursiveUpdateMany = builtins.foldl' lib.recursiveUpdate {};

staticHaskellPackagesPlatforms =
packagePlatforms pkgs.pkgsStatic.haskellPackages;
SuperSandro2000 marked this conversation as resolved.
Show resolved Hide resolved

jobs = recursiveUpdateMany [
(mapTestOn {
haskellPackages = packagePlatforms pkgs.haskellPackages;
Expand All @@ -93,6 +96,16 @@ let
writers = testPlatforms.writers;
};

# test some statically linked packages to catch regressions
# and get some cache going for static compilation with GHC
pkgsStatic.haskellPackages = {
inherit (staticHaskellPackagesPlatforms)
Copy link
Member Author

Choose a reason for hiding this comment

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

any suggestions on changes to this list? It shouldn't be too big, but some packages which are a) important and b) unlikely to break (or will degrade the quality of haskellPackages significantly if they break). Also maybe some kind of smaller tool which is a bit more complicated than hello could be a good idea.

Copy link
Contributor

Choose a reason for hiding this comment

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

not sure if that fits, but pandoc came to my mind

Copy link
Contributor

Choose a reason for hiding this comment

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

but probably not exactly a "small" tool..

Copy link
Member

Choose a reason for hiding this comment

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

I think this list looks good for now.

In #122586 (comment), @rnhmjoj mentioned an issue about packages using TemplateHaskell. I wonder if lens uses TemplateHaskell anywhere.

Well, I'll go ahead and merge this in, and we can see what happens.

hello
random
lens
;
};

# top-level packages that depend on haskellPackages
inherit (pkgsPlatforms)
agda
Expand Down Expand Up @@ -273,6 +286,17 @@ let
(name: jobs.haskellPackages."${name}")
(maintainedPkgNames pkgs.haskellPackages));
};
staticHaskellPackages = pkgs.releaseTools.aggregate {
name = "static-haskell-packages";
meta = {
description = "Static haskell builds using the pkgsStatic infrastructure";
maintainers = [
lib.maintainers.sternenseemann
lib.maintainers.rnhmjoj
];
SuperSandro2000 marked this conversation as resolved.
Show resolved Hide resolved
};
constituents = accumulateDerivations [ jobs.pkgsStatic ];
};
}
];

Expand Down