From e30b052cfcecf75a7d0c9ee59667b4aee242b4db Mon Sep 17 00:00:00 2001 From: Kiara Grouwstra Date: Wed, 3 Sep 2025 17:15:35 +0200 Subject: [PATCH] ensure path availability in deployments (#511) Reviewed-on: https://git.fediversity.eu/Fediversity/Fediversity/pulls/511 --- deployment/check/data-model-ssh/nixosTest.nix | 5 +-- deployment/check/data-model-tf/nixosTest.nix | 10 ++--- deployment/data-model.nix | 42 +++++++++++++++---- 3 files changed, 39 insertions(+), 18 deletions(-) diff --git a/deployment/check/data-model-ssh/nixosTest.nix b/deployment/check/data-model-ssh/nixosTest.nix index b3c3aedc..56710c4e 100644 --- a/deployment/check/data-model-ssh/nixosTest.nix +++ b/deployment/check/data-model-ssh/nixosTest.nix @@ -39,10 +39,9 @@ in ]; nodes.deployer = - { pkgs, ... }: + { ... }: { - environment.systemPackages = with pkgs; [ - jq + environment.systemPackages = [ deploy ]; diff --git a/deployment/check/data-model-tf/nixosTest.nix b/deployment/check/data-model-tf/nixosTest.nix index 40467dba..31b6e67a 100644 --- a/deployment/check/data-model-tf/nixosTest.nix +++ b/deployment/check/data-model-tf/nixosTest.nix @@ -31,11 +31,9 @@ in ]; nodes.deployer = - { pkgs, ... }: + { ... }: { - environment.systemPackages = with pkgs; [ - (pkgs.callPackage ../../run/tf-single-host/tf.nix { }) - jq + environment.systemPackages = [ deploy ]; @@ -50,10 +48,10 @@ in }; extraTestScript = '' - with subtest("ssh: Check the status before deployment"): + with subtest("Check the status before deployment"): target.fail("hello 1>&2") - with subtest("ssh: Run the deployment"): + with subtest("Run the deployment"): deployer.succeed(""" ${lib.getExe deploy} """) diff --git a/deployment/data-model.nix b/deployment/data-model.nix index b30ea2ba..86eac2d7 100644 --- a/deployment/data-model.nix +++ b/deployment/data-model.nix @@ -3,6 +3,7 @@ config, inputs, pkgs, + sources ? import ../npins, ... }: let @@ -146,11 +147,22 @@ let deployment_type = "ssh-host"; }; in - pkgs.writeShellScriptBin "deploy-ssh.sh" '' - env ${ - toString (lib.mapAttrsToList (k: v: "${k}=\"${toBash v}\"") environment) - } bash ./deployment/run/ssh-single-host/run.sh - ''; + pkgs.writers.writeBashBin "deploy-sh.sh" + { + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ + pkgs.jq + ]}" + ]; + } + '' + env ${ + toString (lib.mapAttrsToList (k: v: "${k}=\"${toBash v}\"") environment) + } bash ./deployment/run/ssh-single-host/run.sh + ''; }; }; }); @@ -221,10 +233,22 @@ let }; tf-env = pkgs.callPackage ./run/tf-single-host/tf-env.nix { }; in - pkgs.writeShellScriptBin "deploy-ssh.sh" '' - env ${toString (lib.mapAttrsToList (k: v: "TF_VAR_${k}=\"${toBash v}\"") environment)} \ - tf_env=${tf-env} bash ./deployment/run/tf-single-host/run.sh - ''; + pkgs.writers.writeBashBin "deploy-tf.sh" + { + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ + pkgs.jq + (pkgs.callPackage ./run/tf-single-host/tf.nix { inherit sources; }) + ]}" + ]; + } + '' + env ${toString (lib.mapAttrsToList (k: v: "TF_VAR_${k}=\"${toBash v}\"") environment)} \ + tf_env=${tf-env} bash ./deployment/run/tf-single-host/run.sh + ''; }; }; });