aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-03-03 18:15:29 +0000
committerChristopher Baines <mail@cbaines.net>2019-03-03 18:15:29 +0000
commit623347d83513a1f35103186ca78e85443ee543ae (patch)
tree90eafa9cde35f91b23ab3358eb42cd3f5f8af27f
parentffdd2416f487569830cc6c2038bff4c6cb25193a (diff)
downloaddata-service-623347d83513a1f35103186ca78e85443ee543ae.tar
data-service-623347d83513a1f35103186ca78e85443ee543ae.tar.gz
Add a list of the queued revisions to the index page
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm11
-rw-r--r--guix-data-service/web/controller.scm4
-rw-r--r--guix-data-service/web/view/html.scm118
3 files changed, 88 insertions, 45 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm
index 135dc3a..dcdd83e 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -16,7 +16,8 @@
#:use-module (guix-data-service model package-metadata)
#:use-module (guix-data-service model derivation)
#:export (process-next-load-new-guix-revision-job
- select-job-for-commit))
+ select-job-for-commit
+ most-recent-n-load-new-guix-revision-jobs))
(define (inferior-guix->package-ids store conn inf)
(let* ((packages (inferior-packages inf))
@@ -173,6 +174,14 @@
(list commit))))
result))
+(define (most-recent-n-load-new-guix-revision-jobs conn n)
+ (let ((result
+ (exec-query
+ conn
+ "SELECT * FROM load_new_guix_revision_jobs LIMIT $1"
+ (list (number->string n)))))
+ result))
+
(define (process-next-load-new-guix-revision-job conn)
(let ((next
(exec-query
diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm
index 3eb98e5..3299379 100644
--- a/guix-data-service/web/controller.scm
+++ b/guix-data-service/web/controller.scm
@@ -201,7 +201,9 @@
(define (controller request body conn)
(match-lambda
((GET)
- (apply render-html (index (most-recent-n-guix-revisions conn 10))))
+ (apply render-html (index
+ (most-recent-n-guix-revisions conn 10)
+ (most-recent-n-load-new-guix-revision-jobs conn 1000))))
((GET "compare")
(with-base-and-target-commits
request conn
diff --git a/guix-data-service/web/view/html.scm b/guix-data-service/web/view/html.scm
index a5c5c80..ebf2c20 100644
--- a/guix-data-service/web/view/html.scm
+++ b/guix-data-service/web/view/html.scm
@@ -81,7 +81,7 @@
"source code here") ".")))))
#:extra-headers ,extra-headers))
-(define (index guix-revisions)
+(define (index guix-revisions queued-guix-revisions)
(layout
#:extra-headers
'((cache-control . ((max-age . 60))))
@@ -89,48 +89,80 @@
`(,(header)
(div
(@ (class "container"))
- (h1 "Guix Data Service")
- (form (@ (id "compare")
- (action "/compare"))
- (div
- (@ (class "form-group"))
- (label (@ (for "base_commit"))
- "Base commit")
- (input (@ (type "text")
- (class "form-control")
- (id "base_commit")
- (name "base_commit")
- (placeholder "base commit"))))
- (div
- (@ (class "form-group"))
- (label (@ (for "target_commit"))
- "Target commit")
- (input (@ (type "text")
- (class "form-control")
- (id "target_commit")
- (name "target_commit")
- (placeholder "target commit"))))
- (button
- (@ (type "submit")
- (class "btn btn-lg btn-primary"))
- "Compare"))
- (h3 "Recent fetched revisions")
- ,(if (null? guix-revisions)
- '(p "No revisions")
- `(table
- (@ (class "table"))
- (thead
- (tr
- (th (@ (class "col-md-6")) "Source Repository URL")
- (th (@ (class "col-md-6")) "Commit")))
- (tbody
- ,@(map
- (match-lambda
- ((id url commit store_path)
- `(tr
- (td ,url)
- (td (samp ,commit)))))
- guix-revisions))))))))
+ (div
+ (@ (class "row"))
+ (h1 "Guix Data Service"))
+ (div
+ (@ (class "row"))
+ (form
+ (@ (id "compare")
+ (action "/compare"))
+ (div
+ (@ (class "col-md-6"))
+ (div
+ (@ (class "form-group"))
+ (label (@ (for "base_commit"))
+ "Base commit")
+ (input (@ (type "text")
+ (class "form-control")
+ (id "base_commit")
+ (name "base_commit")
+ (placeholder "base commit"))))
+ (div
+ (@ (class "form-group"))
+ (label (@ (for "target_commit"))
+ "Target commit")
+ (input (@ (type "text")
+ (class "form-control")
+ (id "target_commit")
+ (name "target_commit")
+ (placeholder "target commit")))))
+ (div
+ (@ (class "col-md-6"))
+ (button
+ (@ (type "submit")
+ (class "btn btn-lg btn-primary"))
+ "Compare"))))
+ (div
+ (@ (class "row"))
+ (h3 "Recent fetched revisions")
+ ,(if (null? guix-revisions)
+ '(p "No revisions")
+ `(table
+ (@ (class "table"))
+ (thead
+ (tr
+ (th (@ (class "col-md-6")) "Source Repository URL")
+ (th (@ (class "col-md-6")) "Commit")))
+ (tbody
+ ,@(map
+ (match-lambda
+ ((id url commit store_path)
+ `(tr
+ (td ,url)
+ (td (samp ,commit)))))
+ guix-revisions)))))
+ (div
+ (@ (class "row"))
+ (h3 "Queued revisions")
+ ,(if (null? queued-guix-revisions)
+ '(p "No queued revisions")
+ `(table
+ (@ (class "table"))
+ (thead
+ (tr
+ (th (@ (class "col-md-4")) "Source Repository URL")
+ (th (@ (class "col-md-4")) "Commit")
+ (th (@ (class "col-md-4")) "Source")))
+ (tbody
+ ,@(map
+ (match-lambda
+ ((id url commit source)
+ `(tr
+ (td ,url)
+ (td (samp ,commit))
+ (td ,source))))
+ queued-guix-revisions)))))))))
(define (compare base-commit
target-commit