guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: Add systemd unit file for remote worker service.


From: Ludovic Courtès
Subject: branch master updated: Add systemd unit file for remote worker service.
Date: Thu, 16 Sep 2021 16:04:16 -0400

This is an automated email from the git hooks/post-receive script.

civodul pushed a commit to branch master
in repository guix-cuirass.

The following commit(s) were added to refs/heads/master by this push:
     new bef5a77  Add systemd unit file for remote worker service.
bef5a77 is described below

commit bef5a7744f7e45fd94a2491f38294476791c6a85
Author: Thiago Jung Bauermann <bauermann@kolabnow.com>
AuthorDate: Wed Sep 15 23:38:44 2021 -0300

    Add systemd unit file for remote worker service.
    
    * etc/cuirass-remote-worker.service.in: New file.
    * doc/cuirass.texi (Build modes): Mention it.
    * .gitignore: Ignore it.
    * Makefile.am (systemdservicedir): New variable.
    (dist_systemdservice_DATA): Likewise.
    (EXTRA_DIST): Add ‘etc/cuirass-remote-worker.service’.
    (etc/cuirass-remote-worker.service): New target.
    * configure.ac: Check for ‘(guix config)’ module.
    Set and substitute ‘guix_localstatedir’ variable.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 .gitignore                           |  1 +
 Makefile.am                          |  8 ++++++++
 configure.ac                         |  4 ++++
 doc/cuirass.texi                     | 13 +++++++++++++
 etc/cuirass-remote-worker.service.in | 15 +++++++++++++++
 5 files changed, 41 insertions(+)

diff --git a/.gitignore b/.gitignore
index 95ed6cb..0807874 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,7 @@
 /config.cache
 /configure
 /doc/version.texi
+/etc/cuirass-remote-worker.service
 /src/cuirass/config.scm
 /tests/cache
 Makefile
diff --git a/Makefile.am b/Makefile.am
index 1d75467..6cfa3d7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -45,6 +45,7 @@ cssdir = $(staticdir)/css
 fontsdir = $(staticdir)/fonts
 imagesdir = $(staticdir)/images
 jsdir = $(staticdir)/js
+systemdservicedir = $(libdir)/systemd/system
 
 dist_pkgmodule_DATA =                          \
   src/cuirass/base.scm                         \
@@ -129,6 +130,9 @@ dist_js_DATA =                                      \
   src/static/js/jquery-3.3.1.min.js            \
   src/static/js/popper.min.js
 
+dist_systemdservice_DATA =                     \
+  etc/cuirass-remote-worker.service
+
 TEST_EXTENSIONS = .scm .sh
 AM_TESTS_ENVIRONMENT = \
   env GUILE_AUTO_COMPILE='0' \
@@ -188,6 +192,7 @@ EXTRA_DIST = \
   bootstrap \
   build-aux/guix.scm \
   src/cuirass/config.scm.in \
+  etc/cuirass-remote-worker.service.in \
   $(TESTS)
 
 dist-hook: gen-ChangeLog
@@ -247,6 +252,9 @@ $(bin_SCRIPTS): Makefile
        $(generate_file); chmod +x $@
 src/cuirass/config.scm: $(srcdir)/src/cuirass/config.scm.in Makefile
        $(generate_file)
+etc/cuirass-remote-worker.service: 
$(srcdir)/etc/cuirass-remote-worker.service.in \
+                                       Makefile
+       $(generate_file)
 
 # Guile modules require 'src/cuirass/config.scm' to exist before their
 # compilation.
diff --git a/configure.ac b/configure.ac
index 479e93a..af294c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,6 +47,7 @@ GUILE_MODULE_REQUIRED([avahi])
 GUILE_MODULE_REQUIRED([fibers])
 GUILE_MODULE_REQUIRED([guix])
 GUILE_MODULE_REQUIRED([guix git])
+GUILE_MODULE_REQUIRED([guix config])
 GUILE_MODULE_REQUIRED([git])
 GUILE_MODULE_REQUIRED([json])
 GUILE_MODULE_REQUIRED([mailutils mailutils])
@@ -58,6 +59,9 @@ GUILE_MODULE_REQUIRED([zlib])
 # We depend on new Guile-Git errors.
 GUILE_MODULE_REQUIRED_EXPORT([(git)], git-error-message)
 
+guix_localstatedir="$($GUILE -c '(import (guix config)) (display 
%localstatedir)')"
+AC_SUBST(guix_localstatedir)
+
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
   [chmod +x pre-inst-env])
diff --git a/doc/cuirass.texi b/doc/cuirass.texi
index 72b0b5b..21d2556 100644
--- a/doc/cuirass.texi
+++ b/doc/cuirass.texi
@@ -463,6 +463,19 @@ The easiest way to setup such an infrastructure is to rely 
on the GNU
 Guix Cuirass services definitions (@pxref{Continuous Integration,
 Continuous Integration,, guix, Guix}).
 
+Alternatively, there is a systemd service unit file installed at
+@code{$CUIRASS_PREFIX/lib/systemd/system/cuirass-remote-worker.service}
+to launch the @code{cuirass remote-worker} on systems which use
+systemd. It can be installed and enabled as follows:
+
+@example
+sudo install -o root -g root -m 644 \
+     $CUIRASS_PREFIX/lib/systemd/system/cuirass-remote-worker.service \
+     /etc/systemd/system
+sudo systemctl enable cuirass-remote-worker.service
+sudo systemctl start cuirass-remote-worker.service
+@end example
+
 @c *********************************************************************
 @node Invocation
 @chapter Invocation
diff --git a/etc/cuirass-remote-worker.service.in 
b/etc/cuirass-remote-worker.service.in
new file mode 100644
index 0000000..2c334d7
--- /dev/null
+++ b/etc/cuirass-remote-worker.service.in
@@ -0,0 +1,15 @@
+# This is a "service unit file" for the systemd init system to launch
+# 'cuirass remote-worker'.  Drop it in /etc/systemd/system or similar
+# to have 'cuirass remote-worker' automatically started.
+
+[Unit]
+Description=Continuous integration remmote worker for GNU Guix
+
+[Service]
+ExecStart=@guix_localstatedir@/guix/profiles/per-user/root/guix-profile/bin/cuirass
 \
+    remote-worker --workers=2 --server=10.0.0.1:5555
+Environment= LC_ALL=en_US.UTF-8 \
+    
'GUIX_LOCPATH=@guix_localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale'
+
+[Install]
+WantedBy=multi-user.target



reply via email to

[Prev in Thread] Current Thread [Next in Thread]