diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2020-11-25 10:32:16 +0100 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2020-11-25 10:48:55 +0100 |
commit | fc2fa7ad40065fa78723a6c19b3e022f0637de06 (patch) | |
tree | ac7156598f4aefb6d259abfdac2397bdb970e104 | |
parent | 402f1104e58b8e76d42689770d0c6b106afaffc8 (diff) |
ci: Limit image and system tests jobs periodicity.
System tests and images jobs are extremely expensive in I/O operations and
storage size, pass a "period" argument to Cuirass to limit their periodicity.
* gnu/ci.scm (hours): New procedure,
(image-jobs, system-test-jobs, tarball-jobs): set a period argument.
-rw-r--r-- | gnu/ci.scm | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm index a5afef91ae..5548d9560e 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -209,8 +210,13 @@ SYSTEM." pine64-barebones-raw-image pinebook-pro-barebones-raw-image)) +(define (hours hours) + (* 3600 hours)) + (define (image-jobs store system) - "Return a list of jobs that build images for SYSTEM." + "Return a list of jobs that build images for SYSTEM. Those jobs are +expensive in storage and I/O operations, hence their periodicity is limited by +passing the PERIOD argument." (define (->alist drv) `((derivation . ,(derivation-file-name drv)) (log . ,(log-file store (derivation-file-name drv))) @@ -225,6 +231,7 @@ SYSTEM." (long-description . "This is a demo stand-alone image of the GNU system.") (license . ,(license-name gpl3+)) + (period . ,(hours 48)) (max-silent-time . 600) (timeout . 3600) (home-page . ,%guix-home-page-url) @@ -323,6 +330,9 @@ system.") (set-guile-for-build (default-guile)) (system-test-value test)))) + ;; Those tests are extremely expensive in I/O operations and storage + ;; size, use the "period" attribute to run them with a period of at + ;; least 48 hours. `((derivation . ,(derivation-file-name drv)) (log . ,(log-file store (derivation-file-name drv))) (outputs . ,(filter-map (lambda (res) @@ -336,6 +346,7 @@ system.") (system-test-name test))) (long-description . ,(system-test-description test)) (license . ,(license-name gpl3+)) + (period . ,(hours 48)) (max-silent-time . 600) (timeout . 3600) (home-page . ,%guix-home-page-url) @@ -374,7 +385,8 @@ system.") all its dependencies, and ready to be installed on \"foreign\" distributions.") (license . ,(license-name gpl3+)) (home-page . ,%guix-home-page-url) - (maintainers . ("bug-guix@gnu.org")))) + (maintainers . ("bug-guix@gnu.org")) + (period . ,(hours 24)))) (define (->job name drv) (let ((name (symbol-append name (string->symbol ".") |