ci: Add channel subset support.

* gnu/ci.scm (cuirass-jobs): Add channel subset support.
This commit is contained in:
Mathieu Othacehe 2021-03-14 18:19:16 +01:00
parent 7327295462
commit 61a1165340
No known key found for this signature in database
GPG key ID: 8354763531769CA6

View file

@ -23,6 +23,7 @@
(define-module (gnu ci)
#:use-module (guix channels)
#:use-module (guix config)
#:use-module (guix describe)
#:use-module (guix store)
#:use-module (guix grafts)
#:use-module (guix profiles)
@ -521,6 +522,17 @@ (define source
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello)
hello system))))
(('channels . channels)
;; Build only the packages from CHANNELS.
(let ((all (all-packages)))
(filter-map
(lambda (package)
(match (package-channels package)
((channel . _)
(and (member (channel-name channel) channels)
(package->job store package system)))
(else #f)))
all)))
(('packages . rest)
;; Build selected list of packages only.
(let ((packages (map specification->package rest)))