diff options
author | Christopher Baines <mail@cbaines.net> | 2020-05-19 17:39:14 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-05-19 17:39:14 +0100 |
commit | 870ba33917f942d51c3f1b6f74f8287af3bb9c9c (patch) | |
tree | ee5856682bc42eb68b7b0e846241a8d900c3f580 | |
parent | cde5c17bf681c394e8878e9400dd1c9d477e3f22 (diff) | |
download | build-coordinator-870ba33917f942d51c3f1b6f74f8287af3bb9c9c.tar build-coordinator-870ba33917f942d51c3f1b6f74f8287af3bb9c9c.tar.gz |
Make it possible to show builds for an output
-rw-r--r-- | guix-build-coordinator/client-communication.scm | 14 | ||||
-rw-r--r-- | scripts/guix-build-coordinator.in | 20 |
2 files changed, 34 insertions, 0 deletions
diff --git a/guix-build-coordinator/client-communication.scm b/guix-build-coordinator/client-communication.scm index b517f69..dba2203 100644 --- a/guix-build-coordinator/client-communication.scm +++ b/guix-build-coordinator/client-communication.scm @@ -39,6 +39,7 @@ send-submit-build-request request-build-details + request-output-details request-agents-list send-create-agent-request send-create-agent-password-request)) @@ -127,6 +128,13 @@ `(,@build-details (derivation-inputs . ,(list->vector derivation-inputs)) (setup-failures . ,(list->vector setup-failures)))))))) + (('GET "output" output-components ...) + (let* ((output (string-append + "/" (string-join output-components "/"))) + (builds (datastore-list-builds-for-output datastore + output))) + (render-json + `((builds . ,(list->vector builds)))))) (('GET "agents") (render-json `((agents . ,(list->vector (datastore-list-agents datastore)))))) @@ -268,6 +276,12 @@ 'GET (string-append "/build/" uuid))) +(define (request-output-details coordinator-uri + output) + (send-request coordinator-uri + 'GET + (string-append "/output" output))) + (define (request-agents-list coordinator-uri) (send-request coordinator-uri 'GET diff --git a/scripts/guix-build-coordinator.in b/scripts/guix-build-coordinator.in index e5493de..5c00d7a 100644 --- a/scripts/guix-build-coordinator.in +++ b/scripts/guix-build-coordinator.in @@ -336,6 +336,26 @@ processed?: ~A no-build-submitted-response) (simple-format #t "build submitted as ~A\n" (assoc-ref response "build-submitted"))))))))) + (("output" rest ...) + (let ((opts (parse-options (append %base-options + %client-options) + (append %base-option-defaults + %client-option-defaults) + rest))) + (match (assq-ref opts 'arguments) + ((output) + (let ((details (request-output-details (assq-ref opts 'coordinator) + output))) + (for-each + (lambda (build) + (simple-format + #t "~A:\n result: ~A\n processed: ~A\n priority: ~A\n derivation: ~A\n\n" + (assoc-ref build "uuid") + (assoc-ref build "result") + (assoc-ref build "processed") + (assoc-ref build "priority") + (assoc-ref build "derivation"))) + (vector->list (assoc-ref details "builds")))))))) (("agent" "new" rest ...) (let ((opts (parse-options (append %agent-options %client-options |