I didn't realise that bash's ** feature (which matches any depth of directories) wasn't enabled by default, because it appeared to work, just didn't find all scripts. Signed-off-by: Alyssa Ross <alyssa.ross@unikie.com> Fixes: 169fdd6 ("release.nix: run shellcheck on build scripts") --- v2: exclude build directories nix/checks.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nix/checks.nix b/nix/checks.nix index 9eb261f..9ffdc0a 100644 --- a/nix/checks.nix +++ b/nix/checks.nix @@ -11,12 +11,14 @@ runCommand "spectrum-shellcheck" { src = lib.cleanSourceWith { filter = path: type: - type == "directory" || builtins.match ''.*[^/]\.sh'' path != null; + (builtins.baseNameOf path != "build" && type == "directory") + || builtins.match ''.*[^/]\.sh'' path != null; src = lib.cleanSource ../.; }; nativeBuildInputs = [ shellcheck ]; } '' + shopt -s globstar shellcheck $src/**/*.sh touch $out '' -- 2.35.1