[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: hydra: Set ‘GC_RETRY_SIGNALS=0’ for ‘guix publish
From: |
Ludovic Courtès |
Subject: |
branch master updated: hydra: Set ‘GC_RETRY_SIGNALS=0’ for ‘guix publish’. |
Date: |
Tue, 03 Dec 2024 12:24:13 -0500 |
This is an automated email from the git hooks/post-receive script.
civodul pushed a commit to branch master
in repository maintenance.
The following commit(s) were added to refs/heads/master by this push:
new 620a8269 hydra: Set ‘GC_RETRY_SIGNALS=0’ for ‘guix publish’.
620a8269 is described below
commit 620a826903c5aa46fa892b07e7ccda6d03420ca4
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Tue Dec 3 18:23:16 2024 +0100
hydra: Set ‘GC_RETRY_SIGNALS=0’ for ‘guix publish’.
Works around <https://issues.guix.gnu.org/74632>.
* hydra/modules/sysadmin/services.scm (wrapped-guix): New procedure.
(frontend-services): Use it.
---
hydra/modules/sysadmin/services.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/hydra/modules/sysadmin/services.scm
b/hydra/modules/sysadmin/services.scm
index c501037e..fa67d59f 100644
--- a/hydra/modules/sysadmin/services.scm
+++ b/hydra/modules/sysadmin/services.scm
@@ -660,6 +660,23 @@ to a selected directory.")
(specifications (cuirass-specs branches systems))
(parameters "/etc/cuirass.scm"))))
+(define (wrapped-guix guix)
+ "Wrap GUIX such that the 'GC_RETRY_SIGNALS' environment variable is set to
+\"0\". This is a workaround for <https://issues.guix.gnu.org/74632>."
+ (let ((wrapper (program-file "guix"
+ #~(begin
+ (setenv "GC_RETRY_SIGNALS" "0")
+ (apply execl #$(file-append guix
"/bin/guix")
+ #$(file-append guix "/bin/guix")
+ (cdr (command-line)))))))
+ (computed-file "guix-no-retry-signals"
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p (string-append #$output "/bin"))
+ (copy-file #$wrapper
+ (string-append #$output "/bin/guix")))))))
+
(define* (frontend-services sysadmins #:key
(gc-threshold (* 800 GiB))
nginx-config-file
@@ -691,6 +708,12 @@ to a selected directory.")
;; The Web service.
(service guix-publish-service-type
(guix-publish-configuration
+
+ ;; XXX: Work around <https://issues.guix.gnu.org/74632>:
+ ;; occasional "Signals delivery fails constantly" from
+ ;; libgc under high load.
+ (guix (wrapped-guix guix))
+
(port 3000)
(cache "/var/cache/guix/publish")
(ttl nar-ttl)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: hydra: Set ‘GC_RETRY_SIGNALS=0’ for ‘guix publish’.,
Ludovic Courtès <=