From f5a8931ae731c82dda56426e422cbb76e65b5ed4 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 16 Oct 2025 11:19:43 +0100 Subject: [PATCH 1/7] maintainers/scripts/check-hydra-by-maintainer: correct drv name --- maintainers/scripts/check-hydra-by-maintainer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maintainers/scripts/check-hydra-by-maintainer.nix b/maintainers/scripts/check-hydra-by-maintainer.nix index 21d5de48f970..d79a7e19ab1b 100644 --- a/maintainers/scripts/check-hydra-by-maintainer.nix +++ b/maintainers/scripts/check-hydra-by-maintainer.nix @@ -47,7 +47,7 @@ let in pkgs.stdenv.mkDerivation { - name = "nixpkgs-update-script"; + name = "check-hydra-by-maintainer"; buildInputs = [ pkgs.hydra-check ]; buildCommand = '' echo "" From bad6031c0d9ec76c50c276c8c5651e463d440b91 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 16 Oct 2025 11:20:28 +0100 Subject: [PATCH 2/7] maintainers/scripts/check-hydra-by-maintainer: use stdenvNoCC --- maintainers/scripts/check-hydra-by-maintainer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maintainers/scripts/check-hydra-by-maintainer.nix b/maintainers/scripts/check-hydra-by-maintainer.nix index d79a7e19ab1b..fb57a31a5197 100644 --- a/maintainers/scripts/check-hydra-by-maintainer.nix +++ b/maintainers/scripts/check-hydra-by-maintainer.nix @@ -46,7 +46,7 @@ let ) (name: name) "" pkgs; in -pkgs.stdenv.mkDerivation { +pkgs.stdenvNoCC.mkDerivation { name = "check-hydra-by-maintainer"; buildInputs = [ pkgs.hydra-check ]; buildCommand = '' From f7bf8f2095c82cb9c3c558af129d06121f5c8b3a Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 16 Oct 2025 11:26:52 +0100 Subject: [PATCH 3/7] maintainers/scripts/check-hydra-by-maintainer: use hydra-check already in path No need to use nix-shell too Also reuse built command for echo and run. Not using `set -x` so on exit/failure it doesn't continue to print excessive output. --- .../scripts/check-hydra-by-maintainer.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/maintainers/scripts/check-hydra-by-maintainer.nix b/maintainers/scripts/check-hydra-by-maintainer.nix index fb57a31a5197..5107220820e5 100644 --- a/maintainers/scripts/check-hydra-by-maintainer.nix +++ b/maintainers/scripts/check-hydra-by-maintainer.nix @@ -58,11 +58,14 @@ pkgs.stdenvNoCC.mkDerivation { echo "----------------------------------------------------------------" exit 1 ''; - shellHook = '' - unset shellHook # do not contaminate nested shells - echo "Please stand by" - echo nix-shell -p hydra-check --run "hydra-check ${builtins.concatStringsSep " " packages}" - nix-shell -p hydra-check --run "hydra-check ${builtins.concatStringsSep " " packages}" - exit $? - ''; + shellHook = + let + command = "hydra-check ${lib.escapeShellArgs packages}"; + in + '' + echo "Please stand by" + echo "${command}" + ${command} + exit $? + ''; } From c6589bb292be65a02dac26e0ffbc23ca097555c9 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 16 Oct 2025 11:33:15 +0100 Subject: [PATCH 4/7] maintainers/scripts/check-hydra-by-maintainer: inform user eval is taking place Evaluation to identify packages can take time; print something so the user knows what's going on and waits. --- maintainers/scripts/check-hydra-by-maintainer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maintainers/scripts/check-hydra-by-maintainer.nix b/maintainers/scripts/check-hydra-by-maintainer.nix index 5107220820e5..26ef647ed4c9 100644 --- a/maintainers/scripts/check-hydra-by-maintainer.nix +++ b/maintainers/scripts/check-hydra-by-maintainer.nix @@ -30,7 +30,7 @@ let ) set )); - packages = packagesWith ( + packages = builtins.trace "evaluating list of packages for maintainer: ${maintainer}" packagesWith ( name: pkg: ( if builtins.hasAttr "meta" pkg && builtins.hasAttr "maintainers" pkg.meta then From b1f26182a20dd8432165723b19bf1ff73c84430f Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 16 Oct 2025 11:37:26 +0100 Subject: [PATCH 5/7] maintainers/scripts/check-hydra-by-maintainer: ctrl-c fully exit Currently ctrl-c while shellHook is running will drop you inside the nix-shell. This change catches ctrl-c and exits the same way. --- maintainers/scripts/check-hydra-by-maintainer.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/scripts/check-hydra-by-maintainer.nix b/maintainers/scripts/check-hydra-by-maintainer.nix index 26ef647ed4c9..6d3376a8347f 100644 --- a/maintainers/scripts/check-hydra-by-maintainer.nix +++ b/maintainers/scripts/check-hydra-by-maintainer.nix @@ -63,6 +63,12 @@ pkgs.stdenvNoCC.mkDerivation { command = "hydra-check ${lib.escapeShellArgs packages}"; in '' + # if user presses ctrl-c during run + # pass on ctrl-c to fully quit rather than exiting to nix-shell + function ctrl_c() { + exit 130 + } + trap ctrl_c INT echo "Please stand by" echo "${command}" ${command} From b06542f6a1f55758c9308fb62f0371dee2ce093c Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 16 Oct 2025 12:01:48 +0100 Subject: [PATCH 6/7] maintainers/scripts/check-hydra-by-maintainer: expose short and extra Allow for calling hydra-check with `--short` and provide `extra` as a catch all for other settings. --- .../scripts/check-hydra-by-maintainer.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/maintainers/scripts/check-hydra-by-maintainer.nix b/maintainers/scripts/check-hydra-by-maintainer.nix index 6d3376a8347f..f1190fccb0b1 100644 --- a/maintainers/scripts/check-hydra-by-maintainer.nix +++ b/maintainers/scripts/check-hydra-by-maintainer.nix @@ -1,4 +1,8 @@ -{ maintainer }: +{ + maintainer, # --argstr + short ? false, # use --arg short true + extra ? "", # --argstr +}: let pkgs = import ./../../default.nix { config.allowAliases = false; @@ -53,14 +57,21 @@ pkgs.stdenvNoCC.mkDerivation { echo "" echo "----------------------------------------------------------------" echo "" - echo "nix-shell maintainers/scripts/check-hydra-by-maintainer.nix --argstr maintainer SuperSandro2000" + echo "nix-shell maintainers/scripts/check-hydra-by-maintainer.nix --argstr maintainer yourname" + echo "" + echo "nix-shell maintainers/scripts/check-hydra-by-maintainer.nix --argstr maintainer yourname --arg short true" + echo "" + echo "nix-shell maintainers/scripts/check-hydra-by-maintainer.nix --argstr maintainer yourname --argstr extra \"--json\"" echo "" echo "----------------------------------------------------------------" exit 1 ''; shellHook = let - command = "hydra-check ${lib.escapeShellArgs packages}"; + # trying to only add spaces as necessary for optional args + # with optStr don't need spaces between nix templating + optStr = cond: string: lib.optionalString cond "${string} "; + command = "hydra-check ${optStr short "--short"}${optStr (extra != "") extra}${lib.escapeShellArgs packages}"; in '' # if user presses ctrl-c during run From ee6a0a11eabcb1d9dacac59fefbd8127868bf933 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Tue, 18 Nov 2025 10:30:33 +0000 Subject: [PATCH 7/7] maintainers/scripts/check-hydra-by-maintainer: use concatStringsSep --- maintainers/scripts/check-hydra-by-maintainer.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/maintainers/scripts/check-hydra-by-maintainer.nix b/maintainers/scripts/check-hydra-by-maintainer.nix index f1190fccb0b1..29e7d146456c 100644 --- a/maintainers/scripts/check-hydra-by-maintainer.nix +++ b/maintainers/scripts/check-hydra-by-maintainer.nix @@ -71,7 +71,13 @@ pkgs.stdenvNoCC.mkDerivation { # trying to only add spaces as necessary for optional args # with optStr don't need spaces between nix templating optStr = cond: string: lib.optionalString cond "${string} "; - command = "hydra-check ${optStr short "--short"}${optStr (extra != "") extra}${lib.escapeShellArgs packages}"; + args = [ + "hydra-check" + ] + ++ (lib.optional short "--short") + ++ (lib.optional (extra != "") extra) + ++ (map lib.escapeShellArg packages); + command = lib.concatStringsSep " " args; in '' # if user presses ctrl-c during run