2018-02-26 18:19:22 +00:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
2018-03-05 20:46:12 +00:00
|
|
|
buildkite-agent = pkgs.runCommand "buildkite-agent-0.0.0" {} "mkdir $out";
|
2018-02-26 18:19:22 +00:00
|
|
|
tokenPath = pkgs.writeText "buildkite_token" "TEST_TOKEN";
|
2018-03-05 20:46:12 +00:00
|
|
|
in
|
|
|
|
|
|
|
|
{
|
2023-05-10 05:36:03 +00:00
|
|
|
services.buildkite-agents.test = {
|
2018-02-26 18:19:22 +00:00
|
|
|
enable = true;
|
2018-03-05 20:46:12 +00:00
|
|
|
package = buildkite-agent;
|
2018-02-26 18:19:22 +00:00
|
|
|
extraConfig = "yolo=1";
|
2023-05-10 05:36:03 +00:00
|
|
|
privateSshKeyPath = "/dev/null";
|
2018-05-10 10:43:46 +00:00
|
|
|
hooks.command = "echo test hook";
|
2018-02-26 18:19:22 +00:00
|
|
|
inherit tokenPath;
|
|
|
|
};
|
|
|
|
|
|
|
|
test = ''
|
2023-05-10 05:36:03 +00:00
|
|
|
echo "checking buildkite-agent-test service in /Library/LaunchDaemons" >&2
|
|
|
|
grep "org.nixos.buildkite-agent-test" ${config.out}/Library/LaunchDaemons/org.nixos.buildkite-agent-test.plist
|
2018-02-26 18:19:22 +00:00
|
|
|
|
|
|
|
echo "checking creation of buildkite-agent service config" >&2
|
2023-05-10 05:36:03 +00:00
|
|
|
script=$(cat ${config.out}/Library/LaunchDaemons/org.nixos.buildkite-agent-test.plist | awk -F'[< ]' '$3 ~ "^/nix/store/.*" {print $3}')
|
2018-02-26 18:19:22 +00:00
|
|
|
grep "yolo=1" "$script"
|
|
|
|
grep "${tokenPath}" "$script"
|
2018-05-10 10:43:46 +00:00
|
|
|
|
|
|
|
echo "checking that a buildkite-agent hook works" >&2
|
|
|
|
hooks_path=$(cat $script | awk -F'"' '/^hooks-path/ {print $2;}')
|
|
|
|
$hooks_path/command | grep test
|
2018-02-26 18:19:22 +00:00
|
|
|
'';
|
|
|
|
}
|