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:
parent
ba511d73b0
commit
69057b41a7
4 changed files with 33 additions and 0 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))))))
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue