summaryrefslogtreecommitdiff
path: root/guix/scripts/deploy.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/scripts/deploy.scm')
-rw-r--r--guix/scripts/deploy.scm31
1 files changed, 16 insertions, 15 deletions
diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm
index 4466a0c632..09ad63c44a 100644
--- a/guix/scripts/deploy.scm
+++ b/guix/scripts/deploy.scm
@@ -140,18 +140,19 @@ Perform the deployment specified by FILE.\n"))
(define (handle-argument arg result)
(alist-cons 'file arg result))
- (let* ((opts (parse-command-line args %options (list %default-options)
- #:argument-handler handle-argument))
- (file (assq-ref opts 'file))
- (machines (or (and file (load-source-file file)) '())))
- (show-what-to-deploy machines)
-
- (with-status-verbosity (assoc-ref opts 'verbosity)
- (with-store store
- (set-build-options-from-command-line store opts)
- (with-build-handler (build-notifier #:use-substitutes?
- (assoc-ref opts 'substitutes?))
- (parameterize ((%graft? (assq-ref opts 'graft?)))
- (map/accumulate-builds store
- (cut deploy-machine* store <>)
- machines)))))))
+ (with-error-handling
+ (let* ((opts (parse-command-line args %options (list %default-options)
+ #:argument-handler handle-argument))
+ (file (assq-ref opts 'file))
+ (machines (or (and file (load-source-file file)) '())))
+ (show-what-to-deploy machines)
+
+ (with-status-verbosity (assoc-ref opts 'verbosity)
+ (with-store store
+ (set-build-options-from-command-line store opts)
+ (with-build-handler (build-notifier #:use-substitutes?
+ (assoc-ref opts 'substitutes?))
+ (parameterize ((%graft? (assq-ref opts 'graft?)))
+ (map/accumulate-builds store
+ (cut deploy-machine* store <>)
+ machines))))))))