diff --git a/hydra/modules/sysadmin/build-machines.scm b/hydra/modules/sysadmin/build-machines.scm index d5e6d55..46e4c13 100644 --- a/hydra/modules/sysadmin/build-machines.scm +++ b/hydra/modules/sysadmin/build-machines.scm @@ -23,6 +23,7 @@ #:use-module (gnu bootloader grub) #:use-module (gnu services avahi) #:use-module (gnu services base) + #:use-module (gnu services cuirass) #:use-module (gnu services ssh) #:use-module (gnu services mcron) #:use-module (gnu services monitoring) @@ -89,14 +90,17 @@ nodes." #:key (authorized-guix-keys '()) (emulated-architectures '()) + (systems + '("x86_64-linux" "i686-linux" + "aarch64-linux")) childhurd? (max-jobs 4) (max-cores 16) (build-accounts-to-max-jobs-ratio 4)) "Return the declaration for a build machine for -berlin.guixsd.org with integer ID, with the given -AUTHORIZED-GUIX-KEYS. Add a 'qemu-binfmt-service' for -EMULATED-ARCHITECTURES, unless it's empty." +berlin.guixsd.org with integer ID, with the given AUTHORIZED-GUIX-KEYS. Add a +'qemu-binfmt-service' for EMULATED-ARCHITECTURES, unless it's empty. Start a +Cuirass remote worker building substitutes for the given SYSTEMS." (define gc-job ;; Run 'guix gc' at 3AM and 3PM every day. @@ -231,6 +235,10 @@ are 10022 and 15900. Keep secret-service port local." (server-active '("141.80.167.131")))) (service avahi-service-type (avahi-configuration (debug? #t))) + (service cuirass-remote-worker-service-type + (cuirass-remote-worker-configuration + (workers 2) + (systems systems))) (service mcron-service-type (mcron-configuration (jobs (list gc-job)))) diff --git a/hydra/modules/sysadmin/services.scm b/hydra/modules/sysadmin/services.scm index ab4a8c5..692d9f2 100644 --- a/hydra/modules/sysadmin/services.scm +++ b/hydra/modules/sysadmin/services.scm @@ -422,32 +422,6 @@ (plain-file "motd" "Welcome to the Guix build frontend!\n\n")) -(define cuirass-without-fiber-tests - (let ((commit "697fa14584551d9595cd042f1ffeba240e45a127") - (revision "57")) - (package - (inherit cuirass) - (name "cuirass-dev") - (version (git-version "0.0.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0gw9cja8fiyra9vnn3y384gwanvsqdq6gwjcvmz91sy5lvfwv34m")))) - (inputs - `(("guile-fibers" - ,(package (inherit guile-fibers) - (arguments - `(#:tests? #f - ,@(package-arguments guile-fibers))))) - ("guile" ,guile-3.0/libgc-7) - ,@(fold alist-delete (package-inputs cuirass) - '("guile-fibers" "guile"))))))) - (define KiB (expt 2 10)) (define MiB (* KiB KiB)) (define GiB (* MiB KiB)) @@ -456,13 +430,10 @@ (define* (cuirass-service #:key branches systems nar-ttl) (service cuirass-service-type (cuirass-configuration - (cuirass cuirass-without-fiber-tests) (interval (* 5 60)) - (queue-size 100) - (ttl (quotient nar-ttl 2)) - (specifications (cuirass-specs branches systems)) - (queries-log-file "/var/log/cuirass-sql.log") - (web-queries-log-file "/var/log/cuirass-web-sql.log")))) + (remote-server (cuirass-remote-server-configuration + (trigger-url "http://127.0.0.1"))) + (specifications (cuirass-specs branches systems))))) (define* (frontend-services sysadmins #:key (gc-threshold (* 800 GiB))