diff options
author | Christopher Baines <mail@cbaines.net> | 2020-12-20 16:25:16 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-12-20 16:25:16 +0000 |
commit | 09e51bd9de1dba9336641898e9d62d3cbf0ddc16 (patch) | |
tree | 70926fa6db9ea470aa80e7d5336a9e47eebfb511 /guix-build-coordinator/hooks.scm | |
parent | 021e6df8f69808740c531b963889217e22d1763e (diff) | |
download | build-coordinator-09e51bd9de1dba9336641898e9d62d3cbf0ddc16.tar build-coordinator-09e51bd9de1dba9336641898e9d62d3cbf0ddc16.tar.gz |
Make the build-success-publish-hook behaviour more transactional
Diffstat (limited to 'guix-build-coordinator/hooks.scm')
-rw-r--r-- | guix-build-coordinator/hooks.scm | 15 |
1 files changed, 12 insertions, 3 deletions
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 |