From 09e51bd9de1dba9336641898e9d62d3cbf0ddc16 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 20 Dec 2020 16:25:16 +0000 Subject: Make the build-success-publish-hook behaviour more transactional --- guix-build-coordinator/hooks.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'guix-build-coordinator/hooks.scm') diff --git a/guix-build-coordinator/hooks.scm b/guix-build-coordinator/hooks.scm index 97f3311..f5abe6c 100644 --- a/guix-build-coordinator/hooks.scm +++ b/guix-build-coordinator/hooks.scm @@ -132,9 +132,18 @@ port))) (when post-publish-hook - (post-publish-hook publish-directory - narinfo-filename - nar-filename))))) + (with-exception-handler + (lambda (exn) + ;; Rollback narinfo creation, to make this more + ;; transactional + (delete-file narinfo-location) + + (raise-exception exn)) + (lambda () + (post-publish-hook publish-directory + narinfo-filename + nar-filename)) + #:unwind? #t))))) (datastore-list-build-outputs datastore build-id))))) (define* (build-success-s3-publish-hook -- cgit v1.2.3