summaryrefslogtreecommitdiff
path: root/gnu/ci.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/ci.scm')
-rw-r--r--gnu/ci.scm55
1 files changed, 23 insertions, 32 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm
index acd05a18b4..ff76ffde57 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -79,12 +79,9 @@
(define* (derivation->job name drv
#:key
- period
(max-silent-time 3600)
(timeout 3600))
- "Return a Cuirass job called NAME and describing DRV. PERIOD is the minimal
-duration that must separate two evaluations of the same job. If PERIOD is
-false, then the job will be evaluated as soon as possible.
+ "Return a Cuirass job called NAME and describing DRV.
MAX-SILENT-TIME and TIMEOUT are build options passed to the daemon when
building the derivation."
@@ -98,7 +95,6 @@ building the derivation."
(derivation->output-paths drv)))
(#:nix-name . ,(derivation-name drv))
(#:system . ,(derivation-system drv))
- (#:period . ,period)
(#:max-silent-time . ,max-silent-time)
(#:timeout . ,timeout)))
@@ -156,6 +152,7 @@ SYSTEM."
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"
+ "powerpc64le-linux-gnu"
"riscv64-linux-gnu"
"i586-pc-gnu" ;aka. GNU/Hurd
"i686-w64-mingw32"
@@ -236,14 +233,11 @@ SYSTEM."
(* 3600 hours))
(define (image-jobs store 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."
+ "Return a list of jobs that build images for SYSTEM."
(define (->job name drv)
(let ((name (string-append name "." system)))
(parameterize ((%graft? #f))
- (derivation->job name drv
- #:period (hours 48)))))
+ (derivation->job name drv))))
(define (build-image image)
(run-with-store store
@@ -334,11 +328,7 @@ passing the PERIOD argument."
(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->job name drv
- #:period (hours 24)))))
+ (derivation->job name drv))))
(if (member system %guix-system-supported-systems)
;; Override the value of 'current-guix' used by system tests. Using a
@@ -353,8 +343,7 @@ passing the PERIOD argument."
(define (->job name drv)
(let ((name (string-append name "." system)))
(parameterize ((%graft? #f))
- (derivation->job name drv
- #:period (hours 24)))))
+ (derivation->job name drv))))
;; XXX: Add a job for the stable Guix?
(list
@@ -423,16 +412,12 @@ valid."
(define (arguments->manifests arguments channels)
"Return the list of manifests extracted from ARGUMENTS."
- (define (channel-name->checkout name)
- (let ((channel (find (lambda (channel)
- (eq? (channel-name channel) name))
- channels)))
- (channel-url channel)))
-
- (map (match-lambda
- ((name . path)
- (let ((checkout (channel-name->checkout name)))
- (in-vicinity checkout path))))
+ (map (lambda (manifest)
+ (any (lambda (checkout)
+ (let ((path (in-vicinity checkout manifest)))
+ (and (file-exists? path)
+ path)))
+ (map channel-url channels)))
arguments))
(define (manifests->packages store manifests)
@@ -498,11 +483,6 @@ valid."
(package->job store package system))))
(append
(filter-map job all)
- (image-jobs store system)
- (system-test-jobs store system
- #:source source
- #:commit commit)
- (tarball-jobs store system)
(cross-jobs store system))))
('core
;; Build core packages only.
@@ -522,6 +502,17 @@ valid."
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello)
hello system))))
+ ('images
+ ;; Build Guix System images only.
+ (image-jobs store system))
+ ('system-tests
+ ;; Build Guix System tests only.
+ (system-test-jobs store system
+ #:source source
+ #:commit commit))
+ ('tarball
+ ;; Build Guix tarball only.
+ (tarball-jobs store system))
(('channels . channels)
;; Build only the packages from CHANNELS.
(let ((all (all-packages)))