summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-03-09 23:13:53 +0100
committerLudovic Courtès <ludo@gnu.org>2014-03-09 23:15:09 +0100
commit714084e6c08ec6226ad38655153d307a198b7a73 (patch)
tree3f89374744cf260909abb342ce821e19448692ee
parent002622b65b60286209d2c959d590a392afa782b1 (diff)
downloadguix-714084e6c08ec6226ad38655153d307a198b7a73.tar.gz
offload: Honor absolute build timeouts.
* guix/scripts/offload.scm (offload): Remove default value for
  'build-timeout'.  Pass '--timeout' to the remote 'guix build'
  process.
  (transfer-and-offload, process-request): Remove default value for
  'build-timeout'.
-rw-r--r--guix/scripts/offload.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index cb979fb929..4d2f78f711 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -256,7 +256,7 @@ connections allowed to MACHINE."
 
 (define* (offload drv machine
                   #:key print-build-trace? (max-silent-time 3600)
-                  (build-timeout 7200) (log-port (current-output-port)))
+                  build-timeout (log-port (current-output-port)))
   "Perform DRV on MACHINE, assuming DRV and its prerequisites are available
 there, and write the build log to LOG-PORT.  Return the exit status."
   (format (current-error-port) "offloading '~a' to '~a'...~%"
@@ -267,9 +267,12 @@ there, and write the build log to LOG-PORT.  Return the exit status."
   ;; FIXME: Protect DRV from garbage collection on MACHINE.
   (let ((pipe (remote-pipe machine OPEN_READ
                            `("guix" "build"
-                             ;; FIXME: more options
                              ,(format #f "--max-silent-time=~a"
                                       max-silent-time)
+                             ,@(if build-timeout
+                                   (list (format #f "--timeout=~a"
+                                                 build-timeout))
+                                   '())
                              ,(derivation-file-name drv)))))
     (let loop ((line (read-line pipe)))
       (unless (eof-object? line)
@@ -284,7 +287,7 @@ there, and write the build log to LOG-PORT.  Return the exit status."
                                (inputs '())
                                (outputs '())
                                (max-silent-time 3600)
-                               (build-timeout 7200)
+                               build-timeout
                                print-build-trace?)
   "Offload DRV to MACHINE.  Prior to the actual offloading, transfer all of
 INPUTS to MACHINE; if building DRV succeeds, retrieve all of OUTPUTS from
@@ -485,7 +488,7 @@ allowed on MACHINE."
 (define* (process-request wants-local? system drv features
                           #:key
                           print-build-trace? (max-silent-time 3600)
-                          (build-timeout 7200))
+                          build-timeout)
   "Process a request to build DRV."
   (let* ((local?     (and wants-local? (string=? system (%current-system))))
          (reqs       (build-requirements