From ff7861dffb3d0b05f24e19ba01b91963a184351b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 27 Sep 2020 15:45:36 +0100 Subject: Add command line argument to control building channel instances --- ...rdinator-queue-builds-from-guix-data-service.in | 51 ++++++++++++++-------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in b/scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in index 0bf3a1d..1357cd7 100644 --- a/scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in +++ b/scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in @@ -147,23 +147,26 @@ #:times 30 #:delay 30)) -(define (submit-builds-for-revision coordinator - guix-data-service - commit - systems-and-targets) +(define* (submit-builds-for-revision coordinator + guix-data-service + commit + systems-and-targets + #:key (submit-builds-for-channel-instances? + #t)) (simple-format #t "looking at revision ~A\n" commit) (for-each (match-lambda ((system . target) (when (string=? target "none") - (for-each (lambda (derivation) - (submit-build coordinator - guix-data-service - derivation - #:priority 1000)) - (channel-instance-derivations-for-commit guix-data-service - commit - system))) + (when submit-builds-for-channel-instances? + (for-each (lambda (derivation) + (submit-build coordinator + guix-data-service + derivation + #:priority 1000)) + (channel-instance-derivations-for-commit guix-data-service + commit + system)))) (let ((unprocessed-package-derivations (filter (lambda (derivation) @@ -194,6 +197,12 @@ `((,system . ,target) ,@(or (assq-ref result 'systems-and-targets) '())))) (alist-delete 'systems-and-targets result)))) + (option '("fetch-channel-instance-derivations") #t #f + (lambda (opt name arg result) + (alist-cons 'fetch-channel-instance-derivations + (string=? arg "yes") + (alist-delete 'fetch-channel-instance-derivations + result)))) (option '("coordinator") #t #f (lambda (opt name arg result) (alist-cons 'coordinator @@ -211,9 +220,10 @@ (alist-delete 'processed-commits-file result)))))) (define %option-defaults - '((coordinator . "http://127.0.0.1:8746") - (guix-data-service . "https://data.guix.gnu.org") - (processed-commits-file . "processed-revisions"))) + '((coordinator . "http://127.0.0.1:8746") + (guix-data-service . "https://data.guix.gnu.org") + (processed-commits-file . "processed-revisions") + (fetch-channel-instance-derivations . #t))) (define (parse-options options defaults args) (args-fold @@ -271,10 +281,13 @@ (while #t (for-each (lambda (commit) - (submit-builds-for-revision (assq-ref opts 'coordinator) - guix-data-service - commit - systems-and-targets) + (submit-builds-for-revision + (assq-ref opts 'coordinator) + guix-data-service + commit + systems-and-targets + #:submit-builds-for-channel-instances? + (assq-ref opts 'fetch-channel-instance-derivations)) (record-revision-as-processed processed-commits-file commit)) (unseen-revisions guix-data-service)) -- cgit v1.2.3