top-level/release-haskell.nix: merge jobs using lib.recursiveUpdate

We have different attribute sets defining jobs: The list of base jobs,
the ones generated by versionedCompilerJobs and our added aggregate
jobs. During this we define `haskell` twice: Once for `haskell.compiler`
and once for `haskell.packages.*`. The `//` operator throws a way the
former which is fixed by using lib.recursiveUpdate.

Unfortunately makes the expression less pretty, but at least we have our
compiler jobs back.
This commit is contained in:
sternenseemann 2021-05-08 18:27:47 +02:00
parent 632c9c3b3a
commit df5b6c61ec

View File

@ -75,7 +75,10 @@ let
_: v: builtins.length (v.meta.maintainers or []) > 0
) set);
jobs = mapTestOn {
recursiveUpdateMany = builtins.foldl' lib.recursiveUpdate {};
jobs = mapTestOn (recursiveUpdateMany [
{
haskellPackages = packagePlatforms pkgs.haskellPackages;
haskell.compiler = packagePlatforms pkgs.haskell.compiler;
@ -191,7 +194,8 @@ let
;
elmPackages.elm = pkgsPlatforms.elmPackages.elm;
} // versionedCompilerJobs {
}
(versionedCompilerJobs {
# Packages which should be checked on more than the
# default GHC version. This list can be used to test
# the state of the package set with newer compilers
@ -208,7 +212,8 @@ let
language-nix = all;
nix-paths = all;
titlecase = all;
} // {
})
{
mergeable = pkgs.releaseTools.aggregate {
name = "haskell-updates-mergeable";
meta = {
@ -260,6 +265,7 @@ let
(name: jobs.haskellPackages."${name}")
(maintainedPkgNames pkgs.haskellPackages));
};
};
}
]);
in jobs