[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Ludovic Courtès |
Date: |
Sat, 18 Nov 2023 13:12:02 -0500 (EST) |
branch: master
commit 7f042dbc37a3b9b0caa552233b2753a9279c7f90
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sat Nov 18 12:37:10 2023 +0100
database: Add ‘newly-failed’ field to <evaluation-summary>.
* src/cuirass/database.scm (<evaluation-summary>)[newly-failed]: New
field.
(db-get-evaluation-summary, db-get-evaluation-absolute-summary):
Initialize it.
---
src/cuirass/database.scm | 18 ++++++++++++++----
tests/database.scm | 5 +++--
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm
index d5d342b..c77ccc6 100644
--- a/src/cuirass/database.scm
+++ b/src/cuirass/database.scm
@@ -123,6 +123,7 @@
evaluation-summary-total
evaluation-summary-succeeded
evaluation-summary-failed
+ evaluation-summary-newly-failed
evaluation-summary-scheduled
evaluation-summary-start-time
evaluation-summary-checkout-time
@@ -1856,6 +1857,7 @@ GROUP BY Evaluations.specification;") ))
(total evaluation-summary-total)
(succeeded evaluation-summary-succeeded)
(failed evaluation-summary-failed)
+ (newly-failed evaluation-summary-newly-failed)
(scheduled evaluation-summary-scheduled)
(start-time evaluation-summary-start-time)
(checkout-time evaluation-summary-checkout-time)
@@ -1870,7 +1872,9 @@ Evaluations.checkouttime, Evaluations.evaltime,
SUM(CASE WHEN B.status > -100 THEN 1 ELSE 0 END) as total,
SUM(CASE WHEN B.status = 0 THEN 1 ELSE 0 END) as succeeded,
SUM(CASE WHEN B.status > 0 THEN 1 ELSE 0 END) as failed,
-SUM(CASE WHEN B.status < 0 THEN 1 ELSE 0 END) as scheduled
+SUM(CASE WHEN B.status < 0 THEN 1 ELSE 0 END) as scheduled,
+SUM(CASE WHEN (B.status > 0 AND B.weather = " (build-weather new-failure) ")\
+ THEN 1 ELSE 0 END) as newfailures
FROM Evaluations
LEFT JOIN Builds as B
ON B.evaluation = Evaluations.id
@@ -1878,7 +1882,7 @@ WHERE Evaluations.id = " id
"GROUP BY Evaluations.id
ORDER BY Evaluations.id ASC;"))
((id status timestamp checkouttime evaltime
- total succeeded failed scheduled)
+ total succeeded failed scheduled newfailures)
(evaluation-summary
(id (string->number id))
(status (string->number status))
@@ -1888,6 +1892,7 @@ ORDER BY Evaluations.id ASC;"))
(completion-time (string->number evaltime))
(succeeded (or (string->number succeeded) 0))
(failed (or (string->number failed) 0))
+ (newly-failed (or (string->number newfailures) 0))
(scheduled (or (string->number scheduled) 0))))
(_ #f))))
@@ -1918,10 +1923,14 @@ Evaluations.timestamp, Evaluations.checkouttime,
Evaluations.evaltime,
SUM(CASE WHEN Jobs.status > -100 THEN 1 ELSE 0 END) as total,
SUM(CASE WHEN Jobs.status = 0 THEN 1 ELSE 0 END) AS succeeded,
SUM(CASE WHEN Jobs.status > 0 THEN 1 ELSE 0 END) AS failed,
-SUM(CASE WHEN Jobs.status < 0 THEN 1 ELSE 0 END) AS scheduled
+SUM(CASE WHEN Jobs.status < 0 THEN 1 ELSE 0 END) AS scheduled,
+SUM(CASE WHEN (Builds.status > 0 AND Builds.weather = " (build-weather
new-failure) ")\
+ THEN 1 ELSE 0 END) as newfailures
FROM Evaluations
LEFT JOIN Jobs
ON Jobs.evaluation = Evaluations.id
+LEFT JOIN Builds
+ON Builds.id = Jobs.build
WHERE Evaluations.id = ANY(" eval-ids ")
GROUP BY Evaluations.id
ORDER BY Evaluations.id ASC;"))
@@ -1929,13 +1938,14 @@ ORDER BY Evaluations.id ASC;"))
(match rows
(() (reverse summary))
(((evaluation status timestamp checkouttime evaltime
- total succeeded failed scheduled) . rest)
+ total succeeded failed scheduled newly-failed) . rest)
(loop rest
(cons (evaluation-summary
(id (number evaluation))
(total (number total))
(succeeded (number succeeded))
(failed (number failed))
+ (newly-failed (number newly-failed))
(scheduled (number scheduled))
(status (number status))
(start-time (number timestamp))
diff --git a/tests/database.scm b/tests/database.scm
index 064d160..3a1cd55 100644
--- a/tests/database.scm
+++ b/tests/database.scm
@@ -488,14 +488,15 @@ timestamp, checkouttime, evaltime) VALUES ('guix', 0, 0,
0, 0);")
(evaluation-id eval)))))
(test-equal "db-get-evaluation-summary"
- '(2 0 1 1)
+ '(2 0 1 0 1)
(with-fibers
(let* ((summary (db-get-evaluation-summary 2))
(total (evaluation-summary-total summary))
(succeeded (evaluation-summary-succeeded summary))
(failed (evaluation-summary-failed summary))
+ (newly-failed (evaluation-summary-newly-failed summary))
(scheduled (evaluation-summary-scheduled summary)))
- (list total succeeded failed scheduled))))
+ (list total succeeded failed newly-failed scheduled))))
(test-equal "db-get-evaluation-summary empty"
'(0 0 0 0)