aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-03-01 07:29:49 +0000
committerChristopher Baines <mail@cbaines.net>2019-03-01 07:29:49 +0000
commit853a2e4125d13a8fbb62ce4217d06bad85a1ea06 (patch)
treea235e0e4b510b9bdd7899dade4e24ace9672ad1c
parent6d0eaab4e792188822417754a17439a54fb1ad6d (diff)
downloaddata-service-853a2e4125d13a8fbb62ce4217d06bad85a1ea06.tar
data-service-853a2e4125d13a8fbb62ce4217d06bad85a1ea06.tar.gz
Handle failures in load-new-guix-revision
Currently, I think the desired commit can be missing, if patches come in gradually, and the series changes after the first laminar job has been run. Therefore, try to ignore some errors and just delete the job.
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm19
1 files changed, 13 insertions, 6 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm
index b9b1380..3fd461b 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -108,11 +108,17 @@
(derivation->output-path derivation)))
(define (channel->guix-store-item store channel)
- (dirname
- (readlink
- (string-append (channel->manifest-store-item store
- channel)
- "/bin"))))
+ (catch
+ #t
+ (lambda ()
+ (dirname
+ (readlink
+ (string-append (channel->manifest-store-item store
+ channel)
+ "/bin"))))
+ (lambda args
+ (simple-format #t "guix-data-service: load-new-guix-revision: error: ~A\n" args)
+ #f)))
(define (extract-information-from store conn url commit store_path)
(let ((inf (open-inferior/container store store_path
@@ -144,7 +150,8 @@
(channel (name 'guix)
(url url)
(commit commit)))))
- (extract-information-from store conn url commit store-item)))))
+ (and store-item
+ (extract-information-from store conn url commit store-item))))))
(define (select-job-for-commit conn commit)
(let ((result