diff options
author | Christopher Baines <mail@cbaines.net> | 2020-09-27 15:45:36 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-09-27 15:45:36 +0100 |
commit | ff7861dffb3d0b05f24e19ba01b91963a184351b (patch) | |
tree | 30250578b63eef8b9645bff1e83a3d246cbba44a | |
parent | 44bb44556cc776fc4e26c1b8b2ccf69c9e80a5fc (diff) | |
download | build-coordinator-ff7861dffb3d0b05f24e19ba01b91963a184351b.tar build-coordinator-ff7861dffb3d0b05f24e19ba01b91963a184351b.tar.gz |
Add command line argument to control building channel instances
-rw-r--r-- | scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in | 51 |
1 files 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)) |