nixos/github-runner: start Runner.Listener directly in ExecStart=
The `runsvc.sh` script wraps a JavaScript script which starts `Runner.Listener` and also handles failures. This has the downside that the service _always_ exits with status code 0, i.e., success. This causes frequent service restarts when running in ephemeral mode with a faulty config as Systemd always sees a success exit status. To prevent this, this commit changes the service config to call `Runner.Listener` directly. The JavaScript wrapper stops the process with a SIGINT, hence, the Systemd unit now sends a SIGINT to stop the service.
This commit is contained in:
@@ -173,7 +173,7 @@ in
|
||||
] ++ cfg.extraPackages;
|
||||
|
||||
serviceConfig = rec {
|
||||
ExecStart = "${cfg.package}/bin/runsvc.sh";
|
||||
ExecStart = "${cfg.package}/bin/Runner.Listener run --startuptype service";
|
||||
|
||||
# Does the following, sequentially:
|
||||
# - If the module configuration or the token has changed, purge the state directory,
|
||||
@@ -314,8 +314,7 @@ in
|
||||
# By default, use a dynamically allocated user
|
||||
DynamicUser = true;
|
||||
|
||||
KillMode = "process";
|
||||
KillSignal = "SIGTERM";
|
||||
KillSignal = "SIGINT";
|
||||
|
||||
# Hardening (may overlap with DynamicUser=)
|
||||
# The following options are only for optimizing:
|
||||
|
||||
Reference in New Issue
Block a user