From e702e26a38f868bf3ffb5bbf3316d46d4c4bbb32 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 20 Jun 2016 23:49:47 +0200 Subject: hydra: Add jobs for the system tests. * build-aux/hydra/gnu-system.scm (%guixsd-supported-systems): New variable. (qemu-jobs): Use it. (system-test-jobs): New procedure. (hydra-jobs): Use it. --- build-aux/hydra/gnu-system.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'build-aux/hydra') diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index d15be1bad2..4c27a9da1b 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,23 @@ system.") (* 1024 MiB)))))) '())) +(define (system-test-jobs store system) + "Return a list of jobs for the system tests." + (define (->job test) + (let ((name (string->symbol + (string-append "test." (system-test-name test) + "." system)))) + `(,name . ,(lambda () + (run-with-store store + (mbegin %store-monad + (set-current-system system) + (set-grafting #f) + (system-test-value 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 +295,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) -- cgit 1.4.1