branch: main
commit d55d6e05a7d202d6985f92be052f7722e8be879a
Author: Ludovic Courtès <l...@gnu.org>
AuthorDate: Thu Sep 19 10:57:07 2024 +0200

    database: Fail dependents for any kind of failure.
    
    * src/cuirass/database.scm (build-failure?): New procedure.
    (db-update-build-status!): Use it instead of checking for ‘failed’ only.
---
 src/cuirass/database.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm
index ced96a7..aaf1be3 100644
--- a/src/cuirass/database.scm
+++ b/src/cuirass/database.scm
@@ -731,6 +731,13 @@ RETURNING id;"))
   (failed-other      3)
   (canceled          4))
 
+(define (build-failure? status)
+  "Return true if STATUS denotes a failure of some kind."
+  (memv status (list (build-status failed)
+                     (build-status failed-dependency)
+                     (build-status failed-other)
+                     (build-status canceled))))
+
 (define-enumeration build-weather
   (unknown          -1)
   (new-success       0)
@@ -1295,7 +1302,7 @@ UPDATE Builds SET stoptime =" now
 " AND status != " status ";")))
 
           (when (positive? rows)
-            (when (= status (build-status failed))
+            (when (build-failure? status)
               ;; Update the status of dependent builds.
               (db-mark-dependent-builds-as-failed build))
 

Reply via email to