diff options
author | Christopher Baines <mail@cbaines.net> | 2020-04-13 12:42:03 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-04-13 12:42:03 +0100 |
commit | c27c16cf00212d5f9f7c5146fb3d1604b44092e9 (patch) | |
tree | c7d79120d83015d88ad81eed73018ea98f1d238f /guix-build-coordinator/agent.scm | |
parent | c623bcf70471a767ed75b6ae9e8ca1e0406c54c6 (diff) | |
download | build-coordinator-c27c16cf00212d5f9f7c5146fb3d1604b44092e9.tar build-coordinator-c27c16cf00212d5f9f7c5146fb3d1604b44092e9.tar.gz |
Add initial support for sending/storing build outputs
Diffstat (limited to 'guix-build-coordinator/agent.scm')
-rw-r--r-- | guix-build-coordinator/agent.scm | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm index c5094d4..9c75253 100644 --- a/guix-build-coordinator/agent.scm +++ b/guix-build-coordinator/agent.scm @@ -22,6 +22,8 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (ice-9 match) + #:use-module (rnrs bytevectors) + #:use-module (web http) #:use-module (guix store) #:use-module (guix status) #:use-module (guix derivations) @@ -41,7 +43,10 @@ (for-each (lambda (build) (let ((derivation-name (assoc-ref build "derivation-name"))) (pre-build-process derivation-name) - (perform-build derivation-name))) + (let ((result (perform-build derivation-name))) + (post-build uuid coordinator-uri password + (assoc-ref build "uuid") + derivation-name)))) builds))) (define (pre-build-process derivation-name) @@ -93,3 +98,13 @@ #:use-substitutes? #f) (build-things store (list derivation-name)))) + +(define (post-build uuid coordinator-uri password + build-id derivation) + (for-each + (match-lambda + ((output-name . output) + (submit-output coordinator-uri uuid password + build-id output-name + (derivation-output-path output)))) + (derivation-outputs (read-derivation-from-file derivation)))) |