branch: main
commit 2f9186fc62e4123e4a72ed22dbf371bc807040a1
Author: Romain GARBAGE <[email protected]>
AuthorDate: Fri Apr 4 16:16:22 2025 +0200
base: Set evaluation status in the right place.
* src/cuirass/base.scm (evaluate): Set evaluation status right after
getting a result.
(jobset-evaluator): Don't set evaluation status for failed evaluations too
late.
Signed-off-by: Ludovic Courtès <[email protected]>
---
src/cuirass/base.scm | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm
index 61afcb4..96c0985 100644
--- a/src/cuirass/base.scm
+++ b/src/cuirass/base.scm
@@ -689,13 +689,18 @@ Return a list of jobs that are associated to EVAL-ID."
#f)
(_ #t))))
(close-port (cdr log-pipe))
- (let ((spec-name (specification-name spec))
- (status (close-pipe port)))
+ (let* ((spec-name (specification-name spec))
+ (status (close-pipe port))
+ (eval-status (if (and (zero? status) result)
+ (evaluation-status succeeded)
+ (evaluation-status failed))))
+ (db-set-evaluation-status/fail-safe eval-id spec eval-status)
(put-message event-log
`(new-event (evaluation-completed ,eval-id
,spec
- ,status)))
- (if (and (zero? status) result)
+ ,eval-status)))
+ (if (= (evaluation-status succeeded)
+ eval-status)
(log-info "evaluation ~a for '~a' completed" eval-id spec-name)
(begin
(log-info "evaluation ~a for '~a' failed" eval-id spec-name)
@@ -772,8 +777,6 @@ evaluation ID before the evaluation is started."
(derivations (map build-derivation builds)))
(log-info "evaluation ~a of jobset '~a' registered ~a builds"
eval-id (specification-name spec) (length builds))
- (db-set-evaluation-status/fail-safe eval-id spec
- (evaluation-status
succeeded))
;; Register a GC root for each derivation so that they are not
;; garbage collected before getting built.