From ba23f719ab8910c532d65f3c2e3e011ff2ec40f9 Mon Sep 17 00:00:00 2001 From: Floweynt Date: Fri, 11 Sep 2026 20:17:12 +0000 Subject: [PATCH] ci: fix vulnix GITHUB_OUTPUT format error --- ci.nix | 7 +++++++ ci.py | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ci.nix b/ci.nix index 2a6d0d1..77fa121 100644 --- a/ci.nix +++ b/ci.nix @@ -1,10 +1,17 @@ { lib, pkgs }: +let + # vulnix's bundled nix-2.34 broke its own --experimental-features detection + nixConf = pkgs.writeText "ci-nix.conf" "experimental-features = nix-command flakes"; +in # tools must track ci.py's subprocess calls; nix stays ambient (uses the # runner's own nix, not a pinned one). pkgs.writers.writePython3Bin "ci" { flakeIgnore = [ "E501" ]; libraries = [ pkgs.python3Packages.subprocess-tee ]; makeWrapperArgs = [ + "--set-default" + "NIX_USER_CONF_FILES" + (toString nixConf) "--prefix" "PATH" ":" diff --git a/ci.py b/ci.py index 7c47483..86eafef 100644 --- a/ci.py +++ b/ci.py @@ -18,7 +18,8 @@ def run(*args, **kw): def nix(*args): - return subprocess_tee.run(("nix", "--extra-experimental-features", "nix-command flakes", "-L", *args), check=True, text=True).stdout + # tee to stderr - stdout leaks into GITHUB_OUTPUT $() captures + return subprocess_tee.run(("nix", "--extra-experimental-features", "nix-command flakes", "-L", *args), check=True, text=True, stdout=sys.stderr).stdout def git(*args, check=True): @@ -254,7 +255,7 @@ def format_vulnix(vulns): def vulnix(args): paths = list(build_hosts(args.ref).values()) - result = run("vulnix", "-j", "-C", *paths, capture_output=True) + result = run("vulnix", "-j", *paths, capture_output=True) if result.returncode not in (0, 2): print(result.stderr, file=sys.stderr) sys.exit(result.returncode)