diff options
author | Ludovic Courtès <ludo@gnu.org> | 2023-08-21 15:37:11 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-08-21 16:16:47 +0200 |
commit | 97f062f33c4243fb1fcb53e0806bdf6cd08ac9d6 (patch) | |
tree | 708dae07c1476ef926931e75851747f2535d52d0 /gnu | |
parent | df2117b8e0e9a35ef8be7f122a783190cafed669 (diff) |
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')
-rw-r--r-- | gnu/ci.scm | 23 |
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))) |