This repository has been archived on 2024-10-13. You can view files and clone it, but cannot push or open issues or pull requests.
nix-packages/hydra/jobsets.nix

85 lines
2.4 KiB
Nix

{
prsJSON,
nixpkgs,
}: let
pkgs = import nixpkgs {};
prs = builtins.fromJSON (builtins.readFile prsJSON);
systems = ["x86_64-linux" "aarch64-linux" "riscv64-linux"];
nixpkgs_version = ["master" "nixos-22.05"];
mkJobsets = system: version:
(pkgs.lib.mapAttrs (
num: info: {
enabled = 1;
hidden = false;
description = "PR ${num} (${system}-${version}): ${info.title}";
nixexprinput = "nix-packages";
nixexprpath = "hydra/default.nix";
checkinterval = 60;
schedulingshares = 100;
enableemail = false;
emailoverride = "";
keepnr = 1;
inputs = {
nix-packages = {
type = "git";
value = "https://github.com/${info.head.repo.owner.login}/${info.head.repo.name}.git ${info.head.ref}";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "https://github.com/NixOS/nixpkgs.git ${version}";
emailresponsible = false;
};
system = {
type = "string";
value = system;
};
};
}
)
prs)
// {
main = {
enabled = 1;
hidden = false;
description = "nix-packages ${system}-${version}";
nixexprinput = "nix-packages";
nixexprpath = "hydra/default.nix";
checkinterval = 60;
schedulingshares = 100;
enableemail = false;
emailoverride = "";
keepnr = 1;
inputs = {
nix-packages = {
type = "git";
value = "https://github.com/DarkKirb/nix-packages.git main";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "https://github.com/NixOS/nixpkgs.git ${version}";
emailresponsible = false;
};
system = {
type = "string";
value = system;
};
};
};
};
mapToAttrs = f: list: pkgs.listToAttrs (map f list);
jobsets =
mapToAttrs (system: {
name = system;
value =
mapToAttrs (version: {
name = version;
value = mkJobsets system version;
})
nixpkgs_version;
})
systems;
in {jobsets = pkgs.writeText "jobsets.json" (builtins.toJSON jobsets);}