summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorRodney Lorrimar <rodney.lorrimar@iohk.io>2018-05-10 11:43:46 +0100
committerRodney Lorrimar <rodney.lorrimar@iohk.io>2018-05-10 11:43:49 +0100
commit6d6d11fdad377d82aaf1d61173dd9fa6764da07a (patch)
tree15e208f8a15f41f794528ea876e16addf3b36a5c /modules
parent80baf761852f4f8ad4b04972aeea50cc4a4eb424 (diff)
fixup! buildkite-agent: fix variable expansion in hook scripts
Addresses PR review comment.
Diffstat (limited to 'modules')
-rw-r--r--modules/services/buildkite-agent.nix22
1 files changed, 10 insertions, 12 deletions
diff --git a/modules/services/buildkite-agent.nix b/modules/services/buildkite-agent.nix
index 165323b..936446d 100644
--- a/modules/services/buildkite-agent.nix
+++ b/modules/services/buildkite-agent.nix
@@ -16,18 +16,16 @@ let
mkHookOptions = hooks: listToAttrs (map mkHookOption hooks);
hooksDir = let
- mkHookEntry = name: value: ''
- cat > $out/${name} <<'EOF'
- #! ${pkgs.stdenv.shell}
- set -e
- ${value}
- EOF
- chmod 755 $out/${name}
- '';
- in pkgs.runCommand "buildkite-agent-hooks" {} ''
- mkdir $out
- ${concatStringsSep "\n" (mapAttrsToList mkHookEntry (filterAttrs (n: v: v != null) cfg.hooks))}
- '';
+ mkHookEntry = name: value: {
+ inherit name;
+ path = pkgs.writeScript "buildkite-agent-hook-${name}" ''
+ #! ${pkgs.stdenv.shell}
+ set -e
+ ${value}
+ '';
+ };
+ in pkgs.linkFarm "buildkite-agent-hooks"
+ (mapAttrsToList mkHookEntry (filterAttrs (n: v: v != null) cfg.hooks));
in