jobsets: DRY

This commit is contained in:
Astro 2019-09-12 23:01:05 +02:00
parent 6a04906c2c
commit 902df04d47
1 changed files with 38 additions and 99 deletions

View File

@ -1,123 +1,62 @@
{ pkgs ? import <nixpkgs> {} }: { pkgs ? import <nixpkgs> {} }:
let let
mkJobset = { description, nixexprpath, gitUrls }: {
inherit description nixexprpath;
enabled = 1;
hidden = false;
nixexprinput = "hydra-config";
checkinterval = 300;
schedulingshares = 100;
enableemail = true;
keepnr = 16;
inputs = {
hydra-config = {
type = "git";
value = "https://gitea.c3d2.de/C3D2/hydra-config.git master 1";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "git://github.com/NixOS/nixpkgs.git release-19.09 1";
emailresponsible = false;
};
} // (builtins.mapAttrs (_: gitUrl: {
type = "git";
value = gitUrl;
emailresponsible = false;
}) gitUrls);
};
jobsets = { jobsets = {
spacemsg = { # TODO: pile, host tests
enabled = 1; spacemsg = mkJobset {
hidden = false;
description = "Astro's HQ IoT stuff"; description = "Astro's HQ IoT stuff";
nixexprinput = "hydra-config";
nixexprpath = "spacemsg.nix"; nixexprpath = "spacemsg.nix";
checkinterval = 300; gitUrls = {
schedulingshares = 100; spacemsg = "https://github.com/astro/spacemsg.git master 1";
enableemail = true;
emailoverride = "astro@spaceboyz.net";
keepnr = 3;
inputs = {
spacemsg = {
type = "git";
value = "https://github.com/astro/spacemsg.git master 1";
emailresponsible = false;
};
hydra-config = {
type = "git";
value = "https://gitea.c3d2.de/C3D2/hydra-config.git master 1";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "git://github.com/NixOS/nixpkgs.git release-19.09 1";
emailresponsible = false;
};
}; };
}; };
yammat = { yammat = mkJobset {
enabled = 1;
hidden = false;
description = "Matemat by nek0"; description = "Matemat by nek0";
nixexprinput = "hydra-config";
nixexprpath = "yammat.nix"; nixexprpath = "yammat.nix";
checkinterval = 300; gitUrls = {
schedulingshares = 100; yammat = "https://github.com/nek0/yammat.git master 1";
enableemail = true;
emailoverride = "nek0@nek0.eu";
keepnr = 3;
inputs = {
yammat = {
type = "git";
value = "https://github.com/nek0/yammat.git master 1";
emailresponsible = false;
};
hydra-config = {
type = "git";
value = "https://gitea.c3d2.de/C3D2/hydra-config.git master 1";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "git://github.com/NixOS/nixpkgs.git release-19.09 1";
emailresponsible = false;
};
}; };
}; };
tigger = { tigger = mkJobset {
enabled = 1;
hidden = false;
description = "XMPP MUC bot"; description = "XMPP MUC bot";
nixexprinput = "hydra-config";
nixexprpath = "tigger.nix"; nixexprpath = "tigger.nix";
checkinterval = 300; gitUrls = {
schedulingshares = 100; tigger = "https://github.com/astro/tigger.git master 1";
enableemail = true;
emailoverride = "astro@spaceboyz.net";
keepnr = 3;
inputs = {
tigger = {
type = "git";
value = "https://github.com/astro/tigger.git master 1";
emailresponsible = false;
};
hydra-config = {
type = "git";
value = "https://gitea.c3d2.de/C3D2/hydra-config.git master 1";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "git://github.com/NixOS/nixpkgs.git release-19.09 1";
emailresponsible = false;
};
}; };
}; };
slidenado = { slidenado = {
enabled = 1;
hidden = false;
description = "CmS slide generator"; description = "CmS slide generator";
nixexprinput = "hydra-config";
nixexprpath = "slidenado.nix"; nixexprpath = "slidenado.nix";
checkinterval = 300; gitUrls = {
schedulingshares = 100; slidenado = "https://github.com/c3d2/slidenado.git master 1";
enableemail = true;
emailoverride = "astro@spaceboyz.net";
keepnr = 3;
inputs = {
slidenado = {
type = "git";
value = "https://github.com/c3d2/slidenado.git master 1";
emailresponsible = false;
};
hydra-config = {
type = "git";
value = "https://gitea.c3d2.de/C3D2/hydra-config.git master 1";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "git://github.com/NixOS/nixpkgs.git release-19.09 1";
emailresponsible = false;
};
}; };
}; };