diff options
Diffstat (limited to 'guix-build-coordinator/hooks.scm')
-rw-r--r-- | guix-build-coordinator/hooks.scm | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/guix-build-coordinator/hooks.scm b/guix-build-coordinator/hooks.scm index 38f0a80..a4a8299 100644 --- a/guix-build-coordinator/hooks.scm +++ b/guix-build-coordinator/hooks.scm @@ -49,7 +49,8 @@ build-submitted-send-event-to-guix-data-service-hook build-started-send-event-to-guix-data-service-hook build-success-send-event-to-guix-data-service-hook - build-failure-send-event-to-guix-data-service-hook)) + build-failure-send-event-to-guix-data-service-hook + build-canceled-send-event-to-guix-data-service-hook)) (define (default-build-submitted-hook build-coordinator build-id) (display @@ -505,3 +506,21 @@ (assq-ref build-details 'end-time))))) '()))))))) + +(define (build-canceled-send-event-to-guix-data-service-hook target-url) + (lambda (build-coordinator build-id) + (define datastore + (build-coordinator-datastore build-coordinator)) + + (let ((build-details + (datastore-find-build datastore build-id))) + + (send-build-event-to-guix-data-service + target-url + `((type . build) + (event . canceled) + (build_id . ,build-id) + (derivation . ,(assq-ref build-details 'derivation-name)) + ;; TODO Maybe the time of the actual cancelation should be stored or + ;; included in the event + (timestamp . ,(current-time))))))) |