mirror of
https://github.com/LnL7/nix-darwin.git
synced 2024-12-14 11:57:34 +00:00
da2c0a74ca
Update module to look it similar to what it currently present in 'nixpkgs'. Mainly, to provide support for running multiple buildkite-agents.
31 lines
1 KiB
Nix
31 lines
1 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
|
|
'';
|
|
}
|