-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathrelease.nix
More file actions
52 lines (48 loc) · 1.6 KB
/
Copy pathrelease.nix
File metadata and controls
52 lines (48 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
let
fixedLib = import ./lib.nix;
fixedNixpkgs = fixedLib.iohkNix.nixpkgs;
in
{ supportedSystems ? [ "x86_64-linux" ]
, scrubJobs ? true
, fasterBuild ? false
, skipPackages ? []
, nixpkgsArgs ? {
config = { allowUnfree = false; inHydra = true; };
}
}:
with (import (fixedNixpkgs + "/pkgs/top-level/release-lib.nix") {
inherit supportedSystems scrubJobs nixpkgsArgs;
packageSet = import ./.;
});
let
pkgs = import fixedNixpkgs { config = {}; };
platforms = {
log-classifier-web = supportedSystems;
log-classifier = supportedSystems;
};
mapped = mapTestOn platforms;
makeTestRuns = system:
let
pred = name: value: (fixedLib.isLogClassifier name);
f = name: value: value.testrun;
logClassiferPkgs = import ./. { inherit system; };
in pkgs.lib.mapAttrs f (lib.filterAttrs pred logClassiferPkgs.haskellPackages);
in pkgs.lib.fix (jobsets: mapped // {
inherit (pkgs) cabal2nix;
# the result of running every cardano test-suite on 64bit linux
log-classifier-tests.x86_64-linux = makeTestRuns "x86_64-linux";
# hydra will create a special aggregate job, that relies on all of these sub-jobs passing
required = pkgs.lib.hydraJob (pkgs.releaseTools.aggregate {
name = "log-classifer-required-checks";
constituents =
let
allLinux = x: map (system: x.${system}) [ "x86_64-linux" ];
all = x: map (system: x.${system}) supportedSystems;
in
[
(builtins.concatLists (map lib.attrValues (all jobsets.log-classifier-tests)))
jobsets.log-classifier-web.x86_64-linux
jobsets.log-classifier.x86_64-linux
];
});
})