~ruther/guix-local

2b513387cd63f82afc8fb6a076674b323e964b7f — Ludovic Courtès 9 years ago bd83457
offload: Test each machine only once.

* guix/scripts/offload.scm (check-machine-availability)[build-machine=?]:
New procedure.
Add call to 'delete-duplicates'.
1 files changed, 8 insertions(+), 1 deletions(-)

M guix/scripts/offload.scm
M guix/scripts/offload.scm => guix/scripts/offload.scm +8 -1
@@ 710,7 710,14 @@ allowed on MACHINE.  Return +∞ if MACHINE is unreachable."

(define (check-machine-availability machine-file)
  "Check that each machine in MACHINE-FILE is usable as a build machine."
  (let ((machines (build-machines machine-file)))
  (define (build-machine=? m1 m2)
    (and (string=? (build-machine-name m1) (build-machine-name m2))
         (= (build-machine-port m1) (build-machine-port m2))))

  ;; A given build machine may appear several times (e.g., once for
  ;; "x86_64-linux" and a second time for "i686-linux"); test them only once.
  (let ((machines (delete-duplicates (build-machines machine-file)
                                     build-machine=?)))
    (info (_ "testing ~a build machines defined in '~a'...~%")
          (length machines) machine-file)
    (let* ((names    (map build-machine-name machines))