From c72d2a172fafa591da3b73274ed70723d5fbf360 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 17 Feb 2021 09:12:50 +0000 Subject: Add a hook for determining whether agents should submit outputs This should make it possible to check properly whether the outputs are needed, instead of just assuming they are not if there's been a successful build. --- guix-build-coordinator/hooks.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'guix-build-coordinator/hooks.scm') diff --git a/guix-build-coordinator/hooks.scm b/guix-build-coordinator/hooks.scm index a31b804..263d783 100644 --- a/guix-build-coordinator/hooks.scm +++ b/guix-build-coordinator/hooks.scm @@ -43,6 +43,7 @@ build-failure-retry-hook build-recompress-log-file-hook default-build-missing-inputs-hook + default-build-submit-outputs-hook %default-hooks @@ -416,13 +417,24 @@ missing-input))))) missing-inputs))) +(define (default-build-submit-outputs-hook build-coordinator build-id) + (define datastore + (build-coordinator-datastore build-coordinator)) + + (let* ((build (datastore-find-build datastore build-id)) + (unbuilt-outputs (datastore-list-unbuilt-derivation-outputs + datastore + (assq-ref build 'derivation-name)))) + (not (null? unbuilt-outputs)))) + (define %default-hooks `((build-submitted . ,default-build-submitted-hook) (build-started . ,default-build-started-hook) (build-success . ,default-build-success-hook) (build-failure . ,default-build-failure-hook) (build-canceled . ,default-build-canceled-hook) - (build-missing-inputs . ,default-build-missing-inputs-hook))) + (build-missing-inputs . ,default-build-missing-inputs-hook) + (build-submit-outputs . ,default-build-submit-outputs-hook))) (define (build-submitted-send-event-to-guix-data-service-hook target-url) (lambda (build-coordinator build-id) -- cgit v1.2.3