diff options
Diffstat (limited to 'build-aux/hydra/gnu-system.scm')
-rw-r--r-- | build-aux/hydra/gnu-system.scm | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index d15be1bad2..a84cdebbad 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -59,6 +59,7 @@ (gnu system) (gnu system vm) (gnu system install) + (gnu tests) (srfi srfi-1) (srfi srfi-26) (ice-9 match)) @@ -129,6 +130,9 @@ SYSTEM." (file (string-append dir "/demo-os.scm"))) (read-operating-system file))) +(define %guixsd-supported-systems + '("x86_64-linux" "i686-linux")) + (define (qemu-jobs store system) "Return a list of jobs that build QEMU images for SYSTEM." (define (->alist drv) @@ -150,7 +154,7 @@ system.") (define MiB (expt 2 20)) - (if (member system '("x86_64-linux" "i686-linux")) + (if (member system %guixsd-supported-systems) (list (->job 'qemu-image (run-with-store store (mbegin %store-monad @@ -167,6 +171,36 @@ system.") (* 1024 MiB)))))) '())) +(define (system-test-jobs store system) + "Return a list of jobs for the system tests." + (define (test->thunk test) + (lambda () + (define drv + (run-with-store store + (mbegin %store-monad + (set-current-system system) + (set-grafting #f) + (set-guile-for-build (default-guile)) + (system-test-value test)))) + + `((derivation . ,(derivation-file-name drv)) + (description . ,(format #f "GuixSD '~a' system test" + (system-test-name test))) + (long-description . ,(system-test-description test)) + (license . ,gpl3+) + (home-page . ,%guix-home-page-url) + (maintainers . ("bug-guix@gnu.org"))))) + + (define (->job test) + (let ((name (string->symbol + (string-append "test." (system-test-name test) + "." system)))) + (cons name (test->thunk test)))) + + (if (member system %guixsd-supported-systems) + (map ->job (all-system-tests)) + '())) + (define (tarball-jobs store system) "Return Hydra jobs to build the self-contained Guix binary tarball." (define (->alist drv) @@ -274,6 +308,7 @@ valid." system)))) (append (filter-map job all) (qemu-jobs store system) + (system-test-jobs store system) (tarball-jobs store system) (cross-jobs system)))) ((core) |