aboutsummaryrefslogtreecommitdiff
path: root/gnu/ci.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-03-14 18:19:16 +0100
committerMathieu Othacehe <othacehe@gnu.org>2021-03-14 18:19:41 +0100
commit61a1165340a8bcc45550259edca25275d899fe09 (patch)
treec1048dc0fe96c382de943df81ff129800dca8a2d /gnu/ci.scm
parent7327295462fccae4ee3e9bf74962c82d3445fec8 (diff)
downloadguix-61a1165340a8bcc45550259edca25275d899fe09.tar
guix-61a1165340a8bcc45550259edca25275d899fe09.tar.gz
ci: Add channel subset support.
* gnu/ci.scm (cuirass-jobs): Add channel subset support.
Diffstat (limited to 'gnu/ci.scm')
-rw-r--r--gnu/ci.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm
index 6edcdd0e19..664cabfec6 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -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 @@ valid."
(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)))