From 3955dd70aa8183cad163b66d0412d134983e3206 Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Wed, 3 Apr 2024 02:34:17 -0400 Subject: [PATCH] maybe set up hydra https://discourse.nixos.org/t/hydra-how-to-use-github-pulls-with-a-flake/29418 Signed-off-by: ahuston-0 --- .hydra/jobsets.nix | 48 ++++++++++++++++++++++++++++++++++++++++++++++ .hydra/spec.json | 30 +++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 .hydra/jobsets.nix create mode 100644 .hydra/spec.json diff --git a/.hydra/jobsets.nix b/.hydra/jobsets.nix new file mode 100644 index 0000000..b4ba73d --- /dev/null +++ b/.hydra/jobsets.nix @@ -0,0 +1,48 @@ +{ nixpkgs, pulls, ... }: +let + pkgs = import nixpkgs { }; + + prs = builtins.fromJSON (builtins.readFile pulls); + prJobsets = pkgs.lib.mapAttrs (num: info: { + enabled = 1; + hidden = false; + description = "PR ${num}: ${info.title}"; + checkinterval = 60; + schedulingshares = 20; + enableemail = false; + emailoverride = ""; + keepnr = 1; + type = 1; + flake = "github:ahuston-0/nix-dotfiles-hydra/pull/${num}/head"; + }) prs; + mkFlakeJobset = branch: { + description = "Build ${branch}"; + checkinterval = "3600"; + enabled = "1"; + schedulingshares = 100; + enableemail = false; + emailoverride = ""; + keepnr = 3; + hidden = false; + type = 1; + flake = "github:ahuston-0/nix-dotfiles-hydra/${branch}"; + }; + + desc = prJobsets // { "main" = mkFlakeJobset "main"; }; + + log = { + pulls = prs; + jobsets = desc; + }; +in { + jobsets = pkgs.runCommand "spec-jobsets.json" { } '' + cat >$out <tmp <