diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2020-09-10 14:25:19 +0200 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2020-09-10 15:16:15 +0200 |
commit | f5b0d39328567a20336945bf1e2ff93aff1a9973 (patch) | |
tree | 6c42597061c14826ecd2cdfdc90559be44a814bd /src/sql | |
parent | af12a80599346968fb9f52edb33b48dd26852788 (diff) | |
download | cuirass-f5b0d39328567a20336945bf1e2ff93aff1a9973.tar cuirass-f5b0d39328567a20336945bf1e2ff93aff1a9973.tar.gz |
Add a status field to Evaluation table.
The Evaluation table currently has an 'in_progress' field. Distinction between
succeeded and failed evaluations are based on the presence of Builds records
for the evaluation. It it also not possible to distinguish aborted evaluations
from failed evaluations.
Rename 'in_progress' field to 'status'. The 'status' field can be equal to
'started', 'succeeded', 'failed' or 'aborted'.
* src/cuirass/database.scm (evaluation-status): New exported enumeration.
(db-set-evaluations-done, db-set-evaluation-done): Remove them.
(db-abort-pending-evaluations, db-set-evaluation-status): New exported procedures.
(db-add-evaluation, db-get-builds, db-get-evaluations,
db-get-evaluations-build-summary, db-get-evaluation-summary): Adapt to use
'status' field instead of 'in_progress' field.
* src/cuirass/templates.scm (evaluation-badges): Ditto.
* src/schema.sql (Evaluations): Rename 'in_progress' field to 'status'.
* src/sql/upgrade-10.sql: New file.
* bin/cuirass.in (main): Use "db-abort-pending-evaluations" instead of
"db-set-evaluations-done".
* src/cuirass/base.scm (evaluate): Use "db-set-evaluation-status" instead of
"db-set-evaluations-done".
(build-packages): Use "db-set-evaluation-status" instead of
"db-set-evaluation-done".
* tests/database.scm (sqlite-exec): Adapt accordingly.
* tests/http.scm (evaluations-query-result): Ditto.
Diffstat (limited to 'src/sql')
-rw-r--r-- | src/sql/upgrade-10.sql | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sql/upgrade-10.sql b/src/sql/upgrade-10.sql new file mode 100644 index 0000000..0ad299c --- /dev/null +++ b/src/sql/upgrade-10.sql @@ -0,0 +1,12 @@ +BEGIN TRANSACTION; + +ALTER TABLE Evaluations RENAME COLUMN in_progress TO status; + +-- Set all pending evaluations to aborted. +UPDATE Evaluations SET status = 2 WHERE status = 1; + +-- All evaluations that did not trigger any build are set to failed. +UPDATE Evaluations SET status = 1 WHERE id NOT IN +(SELECT evaluation FROM Builds); + +COMMIT; |