aboutsummaryrefslogtreecommitdiff
path: root/scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-05-20 07:12:35 +0100
committerChristopher Baines <mail@cbaines.net>2020-05-20 07:12:35 +0100
commita4a16346889a538317280d0cb80beefb441bc854 (patch)
treeb612ae5be7aff6f747f1aacdb6def9848ee8c1d4 /scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in
parentf9c8753d88e8a9100cc5d555bd0e0998b7c5845f (diff)
downloadbuild-coordinator-a4a16346889a538317280d0cb80beefb441bc854.tar
build-coordinator-a4a16346889a538317280d0cb80beefb441bc854.tar.gz
Send requests directly to the coordinator for submitting builds
Diffstat (limited to 'scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in')
-rw-r--r--scripts/guix-build-coordinator-queue-builds-from-guix-data-service.in41
1 files changed, 20 insertions, 21 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 9cf0da2..a6665a3 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
@@ -29,7 +29,8 @@
(rnrs bytevectors)
(json)
(web uri)
- (web client))
+ (web client)
+ (guix-build-coordinator client-communication))
(define %guix-data-service-host "data.guix.gnu.org")
@@ -125,26 +126,24 @@
derivations))
(define* (submit-build derivation #:key (priority 0))
- (let ((exit-code
- (system* "guix-build-coordinator" "build"
- (string-append
- "--derivation-substitute-urls="
- "https://" %guix-data-service-host)
- ;; For the use case of providing substitutes, just build each
- ;; output once.
- "--ignore-if-build-for-derivation-exists"
- "--ignore-if-build-for-outputs-exists"
- ;; The Guix Build Coordinator will automatically add builds
- ;; for inputs if the required output isn't available, but to
- ;; ensure this derivation, and all the related derivations
- ;; have been built and the outputs stored, instruct the Guix
- ;; Build Coordinator to add builds for related derivations
- ;; if no build exists.
- "--ensure-all-related-derivation-outputs-have-builds"
- (simple-format #f "--priority=~A" priority)
- derivation)))
- (unless (zero? exit-code)
- (error "build command failed"))))
+ (let ((response
+ (send-submit-build-request
+ "http://127.0.0.1:8746"
+ derivation
+ (list
+ (string-append "https://" %guix-data-service-host))
+ #f
+ priority
+ #t
+ #t
+ #t)))
+ (let ((no-build-submitted-response
+ (assoc-ref response "no-build-submitted")))
+ (if no-build-submitted-response
+ (simple-format #t "skipped: ~A\n"
+ no-build-submitted-response)
+ (simple-format #t "build submitted as ~A\n"
+ (assoc-ref response "build-submitted"))))))
(define (submit-builds-for-revision commit)
(simple-format #t "looking at revision ~A\n" commit)