diff --git a/guix/ci.scm b/guix/ci.scm index 44cf0c5074..0af04ff97d 100644 --- a/guix/ci.scm +++ b/guix/ci.scm @@ -154,14 +154,21 @@ (define (evaluation url evaluation) (number->string evaluation))))) (json->evaluation evaluation))) -(define* (latest-evaluations url #:optional (limit %query-limit)) - "Return the latest evaluations performed by the CI server at URL." - (map json->evaluation - (vector->list - (json->scm - (http-fetch (string-append url "/api/evaluations?nr=" - (number->string limit))))))) - +(define* (latest-evaluations url + #:optional (limit %query-limit) + #:key spec) + "Return the latest evaluations performed by the CI server at URL. If SPEC +is passed, only consider the evaluations for the given SPEC specification." + (let ((spec (if spec + (format #f "&spec=~a" spec) + ""))) + (map json->evaluation + (vector->list + (json->scm + (http-fetch + (string-append url "/api/evaluations?nr=" + (number->string limit) + spec))))))) (define* (evaluations-for-commit url commit #:optional (limit %query-limit)) "Return the evaluations among the latest LIMIT evaluations that have COMMIT