Support multiples <job-spec> evaluation.

pull/3/head
Mathieu Lirzin 2016-06-16 02:05:18 +02:00
parent 6587ddea5a
commit 992b57dade
2 changed files with 30 additions and 20 deletions

View File

@ -105,22 +105,25 @@ DIR if required."
(exit 0))
(else
(let* ((specfile (option-ref opts 'file "tests/hello-subset.scm"))
(spec (primitive-load specfile))
(specs (primitive-load specfile))
(args (option-ref opts '() #f))
(cachedir (if (null? args)
(getenv "CUIRASS_CACHEDIR")
(car args))))
(while #t
(fetch-repository cachedir spec)
(let ((store ((guix-variable 'store 'open-connection))))
(dynamic-wind
(const #t)
(lambda ()
(let* ((jobs (evaluate store cachedir spec))
(set-build-options
(guix-variable 'store 'set-build-options)))
(set-build-options store #:use-substitutes? #f)
(build-packages store jobs)))
(lambda ()
((guix-variable 'store 'close-connection) store))))
(for-each
(λ (spec)
(fetch-repository cachedir spec)
(let ((store ((guix-variable 'store 'open-connection))))
(dynamic-wind
(const #t)
(lambda ()
(let* ((jobs (evaluate store cachedir spec))
(set-build-options
(guix-variable 'store 'set-build-options)))
(set-build-options store #:use-substitutes? #f)
(build-packages store jobs)))
(lambda ()
((guix-variable 'store 'close-connection) store)))))
specs)
(sleep (string->number (option-ref opts 'interval "60")))))))))

View File

@ -24,10 +24,17 @@
(define (local-file file)
(string-append (dirname (current-filename)) "/" file))
(make-job-spec
#:name "guix"
#:url "git://git.savannah.gnu.org/guix.git"
#:branch "master"
#:file (local-file "gnu-system.scm")
#:proc 'hydra-jobs
#:arguments '((subset . "hello")))
(list (make-job-spec
#:name "guix"
#:url "git://git.savannah.gnu.org/guix.git"
#:branch "master"
#:file (local-file "gnu-system.scm")
#:proc 'hydra-jobs
#:arguments '((subset . "hello")))
(make-job-spec
#:name "guix"
#:url "git://git.savannah.gnu.org/guix.git"
#:branch "core-updates"
#:file (local-file "gnu-system.scm")
#:proc 'hydra-jobs
#:arguments '((subset . "hello"))))