diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-07-30 11:17:51 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-07-30 19:17:20 +0200 |
commit | c9c8c6331e51097652a28538ad3bd06e9ddac5c0 (patch) | |
tree | c1ddb90c2838f5aac6370b055c632c6e73ccc67e | |
parent | cfd8daaf071ef771036426b5a19cfcc6fc628022 (diff) | |
download | guix-c9c8c6331e51097652a28538ad3bd06e9ddac5c0.tar.gz |
deploy: Gracefully handle errors.
* guix/scripts/deploy.scm (guix-deploy): Wrap body in 'with-error-handling'.
-rw-r--r-- | guix/scripts/deploy.scm | 31 |
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)))))))) |