summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-10-28 07:56:51 +0000
committerChristopher Baines <mail@cbaines.net>2019-12-28 19:54:38 +0000
commitba789d4b3f3b833ad6f726a92f5e8e98f2a644ed (patch)
tree6bbc89494e0c9196d8db1a4fa2744323a93c7480
parent267230d027652161c4bc138711b7a0c9b65329ad (diff)
downloadcuirass-support-publishing-build-events-minimal.tar
cuirass-support-publishing-build-events-minimal.tar.gz
Support publishing evaluation eventssupport-publishing-build-events-minimal
* 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.
-rw-r--r--src/cuirass/database.scm13
1 files 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