1
1
mirror of https://github.com/LnL7/nix-darwin.git synced 2024-09-11 12:49:18 +03:00
nix-darwin/tests/services-buildkite-agent.nix
Roman Melnikov da2c0a74ca
buildkite-agent: update module
Update module to look it similar to what it currently present in
'nixpkgs'. Mainly, to provide support for running multiple
buildkite-agents.
2023-05-10 16:26:20 +08:00

32 lines
1.0 KiB
Nix

{ config, pkgs, ... }:
let
buildkite-agent = pkgs.runCommand "buildkite-agent-0.0.0" {} "mkdir $out";
tokenPath = pkgs.writeText "buildkite_token" "TEST_TOKEN";
in
{
services.buildkite-agents.test = {
enable = true;
package = buildkite-agent;
extraConfig = "yolo=1";
privateSshKeyPath = "/dev/null";
hooks.command = "echo test hook";
inherit tokenPath;
};
test = ''
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
echo "checking creation of buildkite-agent service config" >&2
script=$(cat ${config.out}/Library/LaunchDaemons/org.nixos.buildkite-agent-test.plist | awk -F'[< ]' '$3 ~ "^/nix/store/.*" {print $3}')
grep "yolo=1" "$script"
grep "${tokenPath}" "$script"
echo "checking that a buildkite-agent hook works" >&2
hooks_path=$(cat $script | awk -F'"' '/^hooks-path/ {print $2;}')
$hooks_path/command | grep test
'';
}