diff options
author | Christopher Baines <mail@cbaines.net> | 2021-02-17 09:12:50 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2021-02-17 09:12:50 +0000 |
commit | c72d2a172fafa591da3b73274ed70723d5fbf360 (patch) | |
tree | 95b5aca6b38be60302e22fb1f5d0493fb80cbc94 /guix-build-coordinator/hooks.scm | |
parent | b3733bca21de607fd7a70319e66e3ff49996a974 (diff) | |
download | build-coordinator-c72d2a172fafa591da3b73274ed70723d5fbf360.tar build-coordinator-c72d2a172fafa591da3b73274ed70723d5fbf360.tar.gz |
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.
Diffstat (limited to 'guix-build-coordinator/hooks.scm')
-rw-r--r-- | guix-build-coordinator/hooks.scm | 14 |
1 files changed, 13 insertions, 1 deletions
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) |