aboutsummaryrefslogtreecommitdiff
path: root/gnu/ci.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-08-21 15:37:11 +0200
committerLudovic Courtès <ludo@gnu.org>2023-08-21 16:16:47 +0200
commit97f062f33c4243fb1fcb53e0806bdf6cd08ac9d6 (patch)
tree708dae07c1476ef926931e75851747f2535d52d0 /gnu/ci.scm
parentdf2117b8e0e9a35ef8be7f122a783190cafed669 (diff)
downloadguix-97f062f33c4243fb1fcb53e0806bdf6cd08ac9d6.tar
guix-97f062f33c4243fb1fcb53e0806bdf6cd08ac9d6.tar.gz
ci: Honor user-specific systems for manifests.
* gnu/ci.scm (manifests->jobs): Add 'systems' argument. [manifest-entry->job]: Add 'system' and honor it. Honor it. (cuirass-jobs): Pass SYSTEMS to 'manifests->jobs'.
Diffstat (limited to 'gnu/ci.scm')
-rw-r--r--gnu/ci.scm23
1 files changed, 13 insertions, 10 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm
index df98c8af97..7771add033 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -421,9 +421,9 @@ valid. Append SUFFIX to the job name."
(map channel-url channels)))
arguments))
-(define (manifests->jobs store manifests)
+(define (manifests->jobs store manifests systems)
"Return the list of jobs for the entries in MANIFESTS, a list of file
-names."
+names, for each one of SYSTEMS."
(define (load-manifest manifest)
(save-module-excursion
(lambda ()
@@ -434,11 +434,12 @@ names."
(string-append (manifest-entry-name entry) "-"
(manifest-entry-version entry)))
- (define (manifest-entry->job entry)
+ (define (manifest-entry->job entry system)
(let* ((obj (manifest-entry-item entry))
(drv (parameterize ((%graft? #f))
(run-with-store store
- (lower-object obj))))
+ (lower-object obj)
+ #:system system)))
(max-silent-time (or (and (package? obj)
(assoc-ref (package-properties obj)
'max-silent-time))
@@ -450,11 +451,13 @@ names."
#:max-silent-time max-silent-time
#:timeout timeout)))
- (map manifest-entry->job
- (delete-duplicates
- (append-map (compose manifest-entries load-manifest)
- manifests)
- manifest-entry=?)))
+ (let ((entries (delete-duplicates
+ (append-map (compose manifest-entries load-manifest)
+ manifests)
+ manifest-entry=?)))
+ (append-map (lambda (system)
+ (map (cut manifest-entry->job <> system) entries))
+ systems)))
(define (arguments->systems arguments)
"Return the systems list from ARGUMENTS."
@@ -576,7 +579,7 @@ names."
(('manifests . rest)
;; Build packages in the list of manifests.
(let ((manifests (arguments->manifests rest channels)))
- (manifests->jobs store manifests)))
+ (manifests->jobs store manifests systems)))
(else
(error "unknown subset" subset))))
systems)))