haskell.nix/release.nix
Hamish Mackenzie cbe66fffa4
ifdLevel 3
2020-05-12 12:07:41 +12:00

25 lines
1021 B
Nix

# 'supportedSystems' restricts the set of systems that we will evaluate for. Useful when you're evaluting
# on a machine with e.g. no way to build the Darwin IFDs you need!
{ supportedSystems ? [ "x86_64-linux" "x86_64-darwin" ]
, ifdLevel ? 3 }:
let
inherit (import ./ci-lib.nix) stripAttrsForHydra filterDerivations;
genericPkgs = import (import ./nixpkgs/default.nix).nixpkgs-default {};
lib = genericPkgs.lib;
ci = import ./ci.nix { inherit supportedSystems ifdLevel; restrictEval = true; };
allJobs = stripAttrsForHydra (filterDerivations ci);
in allJobs // {
# On IOHK Hydra, "required" is a special job that updates the
# GitHub CI status.
required = genericPkgs.releaseTools.aggregate {
name = "haskell.nix-required";
meta.description = "All jobs required to pass CI";
# Hercules will require all of these, we just require the 20.03 jobs
# to avoid stressing Hydra too much
constituents = lib.collect lib.isDerivation allJobs.R2003.linux.native;
};
}