From 588b1f8df600318b425200e3adf93c4d4fc15215 Mon Sep 17 00:00:00 2001 From: Bryan Richter Date: Thu, 19 Sep 2024 13:05:24 +0300 Subject: [PATCH] nixos/github-runners: make enable functional Fixes #305304 --- .../continuous-integration/github-runner/service.nix | 6 ++++-- nixos/tests/github-runner.nix | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/continuous-integration/github-runner/service.nix b/nixos/modules/services/continuous-integration/github-runner/service.nix index 4b1fc230c2d3..ab2ebb7a498d 100644 --- a/nixos/modules/services/continuous-integration/github-runner/service.nix +++ b/nixos/modules/services/continuous-integration/github-runner/service.nix @@ -19,7 +19,9 @@ with lib; ]) ); - config.systemd.services = flip mapAttrs' config.services.github-runners (name: cfg: + config.systemd.services = + let enabledRunners = filterAttrs (_: cfg: cfg.enable) config.services.github-runners; + in (flip mapAttrs' enabledRunners (name: cfg: let svcName = "github-runner-${name}"; systemdDir = "github-runner/${name}"; @@ -296,5 +298,5 @@ with lib; cfg.serviceOverrides ]; } - ); + )); } diff --git a/nixos/tests/github-runner.nix b/nixos/tests/github-runner.nix index 033365d6925c..f3e4b70fa5d3 100644 --- a/nixos/tests/github-runner.nix +++ b/nixos/tests/github-runner.nix @@ -11,6 +11,12 @@ import ./make-test-python.nix ({ pkgs, ... }: tokenFile = builtins.toFile "github-runner.token" "not-so-secret"; }; + services.github-runners.test-disabled = { + enable = false; + url = "https://github.com/yaxitech"; + tokenFile = builtins.toFile "github-runner.token" "not-so-secret"; + }; + systemd.services.dummy-github-com = { wantedBy = [ "multi-user.target" ]; before = [ "github-runner-test.service" ]; @@ -33,5 +39,7 @@ import ./make-test-python.nix ({ pkgs, ... }: assert "Self-hosted runner registration" in out, "did not read runner registration header" machine.wait_until_succeeds("test -f /tmp/registration-connect") + + machine.fail("systemctl list-unit-files | grep test-disabled") ''; })