diff --git a/guix/ci.scm b/guix/ci.scm index 8fd05668f2..e1016ef566 100644 --- a/guix/ci.scm +++ b/guix/ci.scm @@ -52,13 +52,27 @@ (define-module (guix ci) ;;; ;;; Code: +(define-json-mapping make-build-product + build-product? + json->build-product + (type build-product-type) + (file-size build-product-file-size) + (path build-product-path)) + (define-json-mapping make-build build? json->build (id build-id "id") ;integer (derivation build-derivation) ;string | #f (system build-system) ;string (status build-status "buildstatus" ) ;integer - (timestamp build-timestamp)) ;integer + (timestamp build-timestamp) ;integer + (products build-products "buildproducts" ;* + (lambda (products) + (map json->build-product + ;; Before Cuirass 3db603c1, #f is always returned. + (if products + (vector->list products) + '()))))) (define-json-mapping make-checkout checkout? json->checkout