guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v4 2/2] Support publishing evaluation events


From: Christopher Baines
Subject: [PATCH v4 2/2] Support publishing evaluation events
Date: Sat, 28 Dec 2019 19:54:58 +0000

* src/cuirass/database.scm (db-add-evaluation): Record the creation of new
evaluations as events.
(db-set-evaluation-done): Record when evaluations finish as an event.
* src/cuirass/http.scm (url-handler): Add a new /api/evaluation-events page.
---
 src/cuirass/database.scm | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm
index 9cd2e8f..ab6a4c7 100644
--- a/src/cuirass/database.scm
+++ b/src/cuirass/database.scm
@@ -412,7 +412,12 @@ VALUES (" spec-name ", true);")
       (if (null? new-checkouts)
           (begin (sqlite-exec db "ROLLBACK;")
                  #f)
-          (begin (sqlite-exec db "COMMIT;")
+          (begin (db-add-event 'evaluation
+                               (time-second (current-time time-utc))
+                               `((#:evaluation    . ,eval-id)
+                                 (#:specification . ,spec-name)
+                                 (#:in_progress   . #t)))
+                 (sqlite-exec db "COMMIT;")
                  eval-id)))))
 
 (define (db-set-evaluations-done)
@@ -422,7 +427,11 @@ VALUES (" spec-name ", true);")
 (define (db-set-evaluation-done eval-id)
   (with-db-critical-section db
     (sqlite-exec db "UPDATE Evaluations SET in_progress = false
-WHERE id = " eval-id ";")))
+WHERE id = " eval-id ";")
+    (db-add-event 'evaluation
+                  (time-second (current-time time-utc))
+                  `((#:evaluation  . ,eval-id)
+                    (#:in_progress . #f)))))
 
 (define-syntax-rule (with-database body ...)
   "Run BODY with %DB-CHANNEL being dynamically bound to a channel implementing
-- 
2.24.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]