2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/data-service.git synced 2023-12-14 03:23:03 +01:00

Support showing package derivations by build status

I'm particularly thinking about listing packages which fail to build.
This commit is contained in:
Christopher Baines 2020-12-09 19:07:42 +00:00
parent ba511d73b0
commit 69057b41a7
4 changed files with 33 additions and 0 deletions

View file

@ -45,6 +45,7 @@
parse-result-limit
parse-system
parse-target
parse-derivation-build-status
valid-targets->options))
@ -235,6 +236,19 @@
""
target))
(define (parse-derivation-build-status status)
(define options
'("none" "working" "failing" "unknown"))
(if (member status options)
(if (string=? status "none")
#f
status)
(make-invalid-query-parameter
status
(string-append "unknown derivation build status: "
status))))
(define (valid-targets->options targets)
`(("(no target)" . "none")
,@(map (lambda (target)

View file

@ -276,6 +276,7 @@
(target ,parse-target #:multi-value)
(maximum_builds ,parse-number)
(minimum_builds ,parse-number)
(build_status ,parse-derivation-build-status)
(field ,identity #:multi-value
#:default ("system" "target" "builds"))
(after_name ,identity)

View file

@ -203,6 +203,7 @@
(target ,parse-target #:multi-value)
(maximum_builds ,parse-number)
(minimum_builds ,parse-number)
(build_status ,parse-derivation-build-status)
(field ,identity #:multi-value
#:default ("system" "target" "builds"))
(after_name ,identity)
@ -989,6 +990,9 @@
#:targets (assq-ref query-parameters 'target)
#:maximum-builds (assq-ref query-parameters 'maximum_builds)
#:minimum-builds (assq-ref query-parameters 'minimum_builds)
#:build-status (and=> (assq-ref query-parameters
'build_status)
string->symbol)
#:limit-results limit-results
#:after-name (assq-ref query-parameters 'after_name)
#:include-builds? (member "builds" fields))
@ -999,6 +1003,9 @@
#:targets (assq-ref query-parameters 'target)
#:maximum-builds (assq-ref query-parameters 'maximum_builds)
#:minimum-builds (assq-ref query-parameters 'minimum_builds)
#:build-status (and=> (assq-ref query-parameters
'build_status)
string->symbol)
#:limit-results limit-results
#:after-name (assq-ref query-parameters 'after_name)
#:include-builds? (member "builds" fields))))))

View file

@ -1502,6 +1502,12 @@ figure {
#:key (path-base "/revision/")
header-text
header-link)
(define derivation-build-status-options
'(("" . "none")
("Working" . "working")
("Failing" . "failing")
("Unknown" . "unknown")))
(define field-options
(map
(lambda (field)
@ -1556,6 +1562,11 @@ figure {
,(form-horizontal-control
"Maximum builds" query-parameters
#:help-text "Only show derivations with a maximum number of known builds.")
,(form-horizontal-control
"Build status" query-parameters
#:allow-selecting-multiple-options #f
#:options derivation-build-status-options
#:help-text "Only show derivations with this overall build status.")
,(form-horizontal-control
"Fields" query-parameters
#:name "field"