@@ -1,7 +1,35 @@
1+{ supportedSystems ? [ "x86_64-linux" ] # spare our "x86_64-darwin" builders for now
3+, haskell-nix ? { outPath = ./.; rev = "abcdef"; }
7+let fixedNixpkgs = import ./nixpkgs {}; in
9+with (import (fixedNixpkgs.path + "/pkgs/top-level/release-lib.nix") {
10+ inherit supportedSystems scrubJobs nixpkgsArgs;
11+ packageSet = import (haskell-nix + /build.nix);
2− haskell = import ./default.nix {};
15+ # Remove tests which have meta.disabled = true
3−in {
16+ filterTests = let
4− inherit (haskell) nix-tools source-pins;
17+ nonEmpty = attrs: length (attrValues attrs) != 0;
18+ removeDisabled = filterAttrs (system: test: !(test.meta.disabled or false));
20+ tests = filterAttrs (_: nonEmpty) (mapAttrs (name: removeDisabled) jobs.tests);
24+ native = filterTests (mapTestOn (packagePlatforms pkgs));
26+ # On IOHK Hydra, "required" is a special job that updates the
28+ required = fixedNixpkgs.releaseTools.aggregate {
29+ name = "haskell.nix-required";
30+ meta.description = "All jobs required to pass CI";
31+ constituents = collect isDerivation jobs.native;
6− tests = import ./test { inherit haskell; };
35+in jobs