diff --git a/.hydra/declarative-jobsets.nix b/.hydra/declarative-jobsets.nix new file mode 100644 index 00000000..df246815 --- /dev/null +++ b/.hydra/declarative-jobsets.nix @@ -0,0 +1,53 @@ +{ 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 = 300; + schedulingshares = 20; + enableemail = false; + emailoverride = ""; + keepnr = 1; + type = 1; + flake = "gitea:git.dynamicdiscord.de/ahtlon/infrastructure/pulls/${num}"; + }) prs; + mkFlakeJobset = branch: { + description = "Build ${branch} branch of Simple NixOS MailServer"; + checkinterval = 300; + enabled = "1"; + schedulingshares = 100; + enableemail = false; + emailoverride = ""; + keepnr = 3; + hidden = false; + type = 1; + flake = "git:simple-nixos-mailserver/nixos-mailserver/${branch}"; + }; + + desc = prJobsets // { + "master" = mkFlakeJobset "master"; + }; + + log = { + pulls = prs; + jobsets = desc; + }; + +in +{ + jobsets = pkgs.runCommand "spec-jobsets.json" { } '' + cat >$out <<'EOF' + ${builtins.toJSON desc} + EOF + # This is to get nice .jobsets build logs on Hydra + cat >tmp <<'EOF' + ${builtins.toJSON log} + EOF + ${pkgs.jq}/bin/jq . tmp + ''; +} diff --git a/.hydra/spec.json b/.hydra/spec.json new file mode 100644 index 00000000..469bb334 --- /dev/null +++ b/.hydra/spec.json @@ -0,0 +1,30 @@ +{ + "enabled": 1, + "hidden": false, + "description": "Simple NixOS Mailserver", + "nixexprinput": "nixexpr", + "nixexprpath": ".hydra/declarative-jobsets.nix", + "checkinterval": 60, + "schedulingshares": 100, + "enableemail": false, + "emailoverride": "", + "keepnr": 3, + "type": 0, + "inputs": { + "nixexpr": { + "value": "https://git.dynamicdiscord.de/ahtlon/infrastructure master", + "type": "git", + "emailresponsible": false + }, + "nixpkgs": { + "value": "https://github.com/NixOS/nixpkgs nixos-25.11", + "type": "git", + "emailresponsible": false + }, + "pulls": { + "type": "path", + "value": "http://127.0.0.1:27364/gitea-pulls-sorted.json", + "emailresponsible": false + } + } +} diff --git a/flake.lock b/flake.lock index 6b277103..673769c7 100644 --- a/flake.lock +++ b/flake.lock @@ -126,11 +126,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1772055583, - "narHash": "sha256-iPIm1orqkhsxqju6EVODOrV1BmyA5HNTZ8a1o812bFM=", + "lastModified": 1773018425, + "narHash": "sha256-fpgZBmZpKoEXEowBK/6m8g9FcOLWQ4UxhXHqCw2CpSM=", "owner": "astro", "repo": "microvm.nix", - "rev": "f6dcfb7c16cc3775536c825dc0698d4ede13d063", + "rev": "25ebda3c558e923720c965832dc9a04f559a055c", "type": "github" }, "original": { @@ -177,11 +177,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1771969195, - "narHash": "sha256-qwcDBtrRvJbrrnv1lf/pREQi8t2hWZxVAyeMo7/E9sw=", + "lastModified": 1772972630, + "narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "41c6b421bdc301b2624486e11905c9af7b8ec68e", + "rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72", "type": "github" }, "original": { @@ -209,11 +209,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1771848320, - "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", + "lastModified": 1772963539, + "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2fc6539b481e1d2569f25f8799236694180c0993", + "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", "type": "github" }, "original": { @@ -225,11 +225,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1771903837, - "narHash": "sha256-sdaqdnsQCv3iifzxwB22tUwN/fSHoN7j2myFW5EIkGk=", + "lastModified": 1773068389, + "narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e764fc9a405871f1f6ca3d1394fb422e0a0c3951", + "rev": "44bae273f9f82d480273bab26f5c50de3724f52f", "type": "github" }, "original": { @@ -264,11 +264,11 @@ ] }, "locked": { - "lastModified": 1772048434, - "narHash": "sha256-/wA0OaH6kZ/pFA+nXR/tvg5oupOmEDmMS5us79JT60o=", + "lastModified": 1773096132, + "narHash": "sha256-M3zEnq9OElB7zqc+mjgPlByPm1O5t2fbUrH3t/Hm5Ag=", "owner": "Mic92", "repo": "sops-nix", - "rev": "334daa7c273dd8bf7a0cd370e4e16022b64e55e9", + "rev": "d1ff3b1034d5bab5d7d8086a7803c5a5968cd784", "type": "github" }, "original": { @@ -280,11 +280,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1759482047, - "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", + "lastModified": 1772189877, + "narHash": "sha256-i1p90Rgssb//aNiTDFq46ZG/fk3LmyRLChtp/9lddyA=", "ref": "refs/heads/main", - "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", - "revCount": 996, + "rev": "fe39e122d898f66e89ffa17d4f4209989ccb5358", + "revCount": 1255, "type": "git", "url": "https://spectrum-os.org/git/spectrum" },