From 5b20c2cd2d26554945b8f4c2cec27b36fdbe6f3d Mon Sep 17 00:00:00 2001 From: sefidel Date: Sat, 10 Feb 2024 02:26:52 +0900 Subject: feat(hydra): initial configuration --- default.nix | 10 ++++ flake.lock | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++- hydra/default.nix | 1 + hydra/jobsets.nix | 34 +++++++++++++ hydra/spec.json | 24 +++++++++ 5 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 default.nix create mode 100644 hydra/default.nix create mode 100644 hydra/jobsets.nix create mode 100644 hydra/spec.json diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..f620865 --- /dev/null +++ b/default.nix @@ -0,0 +1,10 @@ +(import + ( + let lock = builtins.fromJSON (builtins.readFile ./flake.lock); in + fetchTarball { + url = lock.nodes.flake-compat.locked.url or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz"; + sha256 = lock.nodes.flake-compat.locked.narHash; + } + ) + { src = ./.; } +).defaultNix diff --git a/flake.lock b/flake.lock index c9759d3..88d560d 100644 --- a/flake.lock +++ b/flake.lock @@ -76,6 +76,38 @@ "type": "github" } }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -272,6 +304,26 @@ "type": "github" } }, + "hydra": { + "inputs": { + "nix": "nix", + "nixpkgs": "nixpkgs", + "nixpkgs-for-fileset": "nixpkgs-for-fileset" + }, + "locked": { + "lastModified": 1706641669, + "narHash": "sha256-ezuVLIjasa/Kki32I3x59tr7FRJsITYTH3Xh6yznwOk=", + "owner": "NixOS", + "repo": "hydra", + "rev": "c1bd50a80db45930cdfc1975903d1f76cca1053a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "hydra", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1706639736, @@ -287,6 +339,22 @@ "type": "github" } }, + "libgit2": { + "flake": false, + "locked": { + "lastModified": 1697646580, + "narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=", + "owner": "libgit2", + "repo": "libgit2", + "rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5", + "type": "github" + }, + "original": { + "owner": "libgit2", + "repo": "libgit2", + "type": "github" + } + }, "neovim-flake": { "inputs": { "flake-utils": "flake-utils_3", @@ -313,7 +381,7 @@ }, "neovim-nightly": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_4", "flake-parts": "flake-parts", "hercules-ci-effects": "hercules-ci-effects", "neovim-flake": "neovim-flake", @@ -335,6 +403,31 @@ "type": "github" } }, + "nix": { + "inputs": { + "flake-compat": "flake-compat_3", + "libgit2": "libgit2", + "nixpkgs": [ + "hydra", + "nixpkgs" + ], + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1706637536, + "narHash": "sha256-fjx+nCOzuSxGWfhwWWc8hCsLFZAjZLDDUcbBtldRqbk=", + "owner": "NixOS", + "repo": "nix", + "rev": "8f42912c80c0a03f62f6a3d28a3af05a9762565d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.20-maintenance", + "repo": "nix", + "type": "github" + } + }, "nix-gaming": { "inputs": { "flake-parts": "flake-parts_3", @@ -356,6 +449,22 @@ "type": "github" } }, + "nixpkgs": { + "locked": { + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2311": { "locked": { "lastModified": 1707091808, @@ -404,6 +513,22 @@ "type": "github" } }, + "nixpkgs-for-fileset": { + "locked": { + "lastModified": 1706098335, + "narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a77ab169a83a4175169d78684ddd2e54486ac651", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-lib": { "locked": { "dir": "lib", @@ -438,6 +563,22 @@ "type": "github" } }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1705957679, @@ -472,8 +613,10 @@ "root": { "inputs": { "colmena": "colmena", + "flake-compat": "flake-compat_2", "helix": "helix", "home-manager": "home-manager", + "hydra": "hydra", "impermanence": "impermanence", "neovim-nightly": "neovim-nightly", "nix-gaming": "nix-gaming", diff --git a/hydra/default.nix b/hydra/default.nix new file mode 100644 index 0000000..b46ba3d --- /dev/null +++ b/hydra/default.nix @@ -0,0 +1 @@ +{ nixrc }: (import nixrc).hydraJobs diff --git a/hydra/jobsets.nix b/hydra/jobsets.nix new file mode 100644 index 0000000..07c0fab --- /dev/null +++ b/hydra/jobsets.nix @@ -0,0 +1,34 @@ +{ nixpkgs, ... }: + +let + pkgs = import nixpkgs {}; + + jobsets = { + main = { + enabled = 1; + hidden = false; + description = "main branch"; + nixexprinput = "nixrc"; + nixexprpath = "hydra/default.nix"; + checkinterval = 300; + schedulingshares = 100; + enableemail = false; + emailoverride = ""; + keepnr = 1; + inputs = { + nixrc = { + type = "git"; + value = "https://git.exotic.sh/pub/sefidel/nixrc main"; + emailresponsible = false; + }; + nixpkgs = { + type = "git"; + value = "https://github.com/NixOS/nixpkgs.git nixos-unstable"; + emailresponsible = false; + }; + }; + }; + }; +in { + jobsets = pkgs.writeText "jobsets.json" (builtins.toJSON jobsets); +} diff --git a/hydra/spec.json b/hydra/spec.json new file mode 100644 index 0000000..a68a743 --- /dev/null +++ b/hydra/spec.json @@ -0,0 +1,24 @@ +{ + "enabled": 1, + "hidden": false, + "description": "Jobsets", + "nixexprinput": "nixrc", + "nixexprpath": "hydra/jobsets.nix", + "checkinterval": 300, + "schedulingshares": 100, + "enableemail": false, + "emailoverride": "", + "keepnr": 1, + "inputs": { + "nixrc": { + "type": "git", + "value": "https://git.exotic.sh/pub/sefidel/nixrc main", + "emailresponsible": false + }, + "nixpkgs": { + "type": "git", + "value": "https://github.com/NixOS/nixpkgs.git nixos-unstable", + "emailresponsible": false + } + } +} -- cgit 1.4.1