Add a basic page for build servers
This commit is contained in:
parent
726674486f
commit
c388f3ee13
3 changed files with 54 additions and 1 deletions
|
|
@ -18,7 +18,8 @@
|
||||||
(define-module (guix-data-service model build-server)
|
(define-module (guix-data-service model build-server)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (squee)
|
#:use-module (squee)
|
||||||
#:export (select-build-servers))
|
#:export (select-build-servers
|
||||||
|
select-build-server))
|
||||||
|
|
||||||
(define (select-build-servers conn)
|
(define (select-build-servers conn)
|
||||||
(define query
|
(define query
|
||||||
|
|
@ -34,3 +35,17 @@ ORDER BY id")
|
||||||
url
|
url
|
||||||
(string=? lookup-all-derivations "t"))))
|
(string=? lookup-all-derivations "t"))))
|
||||||
(exec-query conn query)))
|
(exec-query conn query)))
|
||||||
|
|
||||||
|
(define (select-build-server conn id)
|
||||||
|
(define query
|
||||||
|
"
|
||||||
|
SELECT url, lookup_all_derivations
|
||||||
|
FROM build_servers
|
||||||
|
WHERE id = $1")
|
||||||
|
|
||||||
|
(match (exec-query conn query (list (number->string id)))
|
||||||
|
(()
|
||||||
|
#f)
|
||||||
|
(((url lookup_all_derivations))
|
||||||
|
(list url
|
||||||
|
(string=? lookup_all_derivations "t")))))
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@
|
||||||
#:use-module (guix-data-service web query-parameters)
|
#:use-module (guix-data-service web query-parameters)
|
||||||
#:use-module (guix-data-service jobs load-new-guix-revision)
|
#:use-module (guix-data-service jobs load-new-guix-revision)
|
||||||
#:use-module (guix-data-service model build)
|
#:use-module (guix-data-service model build)
|
||||||
|
#:use-module (guix-data-service model build-server)
|
||||||
#:use-module (guix-data-service model build-status)
|
#:use-module (guix-data-service model build-status)
|
||||||
#:use-module (guix-data-service model nar)
|
#:use-module (guix-data-service model nar)
|
||||||
#:use-module (guix-data-service model build-server-token-seed)
|
#:use-module (guix-data-service model build-server-token-seed)
|
||||||
|
|
@ -77,6 +78,12 @@
|
||||||
"No build found for this build server and derivation.")
|
"No build found for this build server and derivation.")
|
||||||
#:code 404)))))
|
#:code 404)))))
|
||||||
|
|
||||||
|
(define (render-build-server mime-types
|
||||||
|
build-server)
|
||||||
|
(render-html
|
||||||
|
#:sxml
|
||||||
|
(view-build-server build-server)))
|
||||||
|
|
||||||
(define (handle-build-event-submission parsed-query-parameters
|
(define (handle-build-event-submission parsed-query-parameters
|
||||||
build-server-id-string
|
build-server-id-string
|
||||||
body
|
body
|
||||||
|
|
@ -184,6 +191,13 @@
|
||||||
conn
|
conn
|
||||||
secret-key-base)
|
secret-key-base)
|
||||||
(match method-and-path-components
|
(match method-and-path-components
|
||||||
|
(('GET "build-server" build-server-id)
|
||||||
|
(let ((build-server (select-build-server conn (string->number
|
||||||
|
build-server-id))))
|
||||||
|
(if build-server
|
||||||
|
(render-build-server mime-types
|
||||||
|
build-server)
|
||||||
|
(general-not-found "Build server not found" ""))))
|
||||||
(('GET "build-server" build-server-id "build")
|
(('GET "build-server" build-server-id "build")
|
||||||
(let ((parsed-query-parameters
|
(let ((parsed-query-parameters
|
||||||
(parse-query-parameters
|
(parse-query-parameters
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
#:use-module (guix-data-service web view html)
|
#:use-module (guix-data-service web view html)
|
||||||
#:use-module (guix-data-service web html-utils)
|
#:use-module (guix-data-service web html-utils)
|
||||||
#:export (view-build
|
#:export (view-build
|
||||||
|
view-build-server
|
||||||
view-signing-key))
|
view-signing-key))
|
||||||
|
|
||||||
(define (view-build query-parameters
|
(define (view-build query-parameters
|
||||||
|
|
@ -88,6 +89,29 @@
|
||||||
required-failed-builds))))))
|
required-failed-builds))))))
|
||||||
'())))))
|
'())))))
|
||||||
|
|
||||||
|
(define (view-build-server build-server)
|
||||||
|
(layout
|
||||||
|
#:body
|
||||||
|
`(,(header)
|
||||||
|
(div
|
||||||
|
(@ (class "container"))
|
||||||
|
(div
|
||||||
|
(@ (class "row"))
|
||||||
|
(div
|
||||||
|
(@ (class "col-sm-12"))
|
||||||
|
(h2 "Build server")
|
||||||
|
,(match build-server
|
||||||
|
((url lookup-all-derivations?)
|
||||||
|
`(dl
|
||||||
|
(@ (class "dl-horizontal"))
|
||||||
|
(dt "URL")
|
||||||
|
(dd (a (@ (href ,url))
|
||||||
|
,url))
|
||||||
|
(dt "Lookup all " (br) "derivations?")
|
||||||
|
(dd ,(if lookup-all-derivations?
|
||||||
|
"Yes"
|
||||||
|
"No")))))))))))
|
||||||
|
|
||||||
(define (view-signing-key sexp)
|
(define (view-signing-key sexp)
|
||||||
(layout
|
(layout
|
||||||
#:body
|
#:body
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue