branch: main
commit 2f9186fc62e4123e4a72ed22dbf371bc807040a1
Author: Romain GARBAGE <romain.garb...@inria.fr>
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 <l...@gnu.org>
---
 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.

Reply via email to