hydra-config/dn42-registry.nix

39 lines
955 B
Nix
Raw Normal View History

2019-11-03 22:38:47 +01:00
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
let
registry = stdenv.mkDerivation {
name = "dn42-registry";
2019-11-03 22:38:47 +01:00
src = <registry>;
phases = [ "unpackPhase" "patchPhase" "installPhase" ];
nativeBuildInputs = [ python3 ];
2019-11-03 22:38:47 +01:00
patchPhase = "patchShebangs utils";
installPhase = "cp -ar . $out";
};
check = name: arg: stdenv.mkDerivation {
inherit name;
phases = [ "installPhase" "checkPhase" ];
2019-11-03 22:38:47 +01:00
installPhase = "touch $out";
buildInputs = [ python3 ];
doCheck = true;
checkPhase = ''
cd ${registry}
2019-11-03 22:38:47 +01:00
./check-my-stuff ${arg}
'';
};
mntners = builtins.attrNames (
lib.filterAttrs (_: t: t == "regular") (
builtins.readDir (<registry> + "/data/mntner")
)
);
mntnerJobs = builtins.listToAttrs (
map (mntner: rec {
name = "mntner-${mntner}";
value = lib.hydraJob (check name mntner);
}) mntners
);
in
mntnerJobs // {
all = lib.hydraJob (check "all" "--all");
}