1import ./make-test-python.nix (
2 { lib, pkgs, ... }:
3
4 {
5 name = "buildkite-agent";
6 meta.maintainers = with lib.maintainers; [ flokli ];
7
8 nodes.machine =
9 { pkgs, ... }:
10 {
11 services.buildkite-agents = {
12 one = {
13 privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey;
14 tokenPath = (pkgs.writeText "my-token" "5678");
15 };
16 two = {
17 tokenPath = (pkgs.writeText "my-token" "1234");
18 };
19 };
20 };
21
22 testScript = ''
23 start_all()
24 # we can't wait on the unit to start up, as we obviously can't connect to buildkite,
25 # but we can look whether files are set up correctly
26
27 machine.wait_for_file("/var/lib/buildkite-agent-one/buildkite-agent.cfg")
28 machine.wait_for_file("/var/lib/buildkite-agent-one/.ssh/id_rsa")
29
30 machine.wait_for_file("/var/lib/buildkite-agent-two/buildkite-agent.cfg")
31 '';
32 }
33)