diff options
author | Christopher Baines <mail@cbaines.net> | 2019-12-22 14:27:59 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-12-22 14:27:59 +0000 |
commit | 14b79936369c2755d9a98d2c3ca839081b20833d (patch) | |
tree | 1289ac81354314828fd8bfaf9f2779e7ab6c6160 /guix-data-service/model | |
parent | e4a7f221c946b4c03a418e927ef1579e8b09ce83 (diff) | |
download | data-service-14b79936369c2755d9a98d2c3ca839081b20833d.tar data-service-14b79936369c2755d9a98d2c3ca839081b20833d.tar.gz |
Allow filtering the revision builds page by system
Diffstat (limited to 'guix-data-service/model')
-rw-r--r-- | guix-data-service/model/build.scm | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/guix-data-service/model/build.scm b/guix-data-service/model/build.scm index 5c943a6..7f1d2fa 100644 --- a/guix-data-service/model/build.scm +++ b/guix-data-service/model/build.scm @@ -13,7 +13,9 @@ insert-build ensure-build-exists)) -(define* (select-build-stats conn build-servers #:key revision-commit) +(define* (select-build-stats conn build-servers + #:key revision-commit + system target) (define criteria `(,@(if revision-commit ;; Ignore cross built derivations, as I'm not aware of a build server @@ -30,6 +32,12 @@ '()) ,@(if revision-commit '("guix_revisions.commit = $1") + '()) + ,@(if system + '("package_derivations.system = $2") + '()) + ,@(if target + '("package_derivations.target = $3") '()))) (define query @@ -85,10 +93,17 @@ ORDER BY status")) query `(,@(if revision-commit (list revision-commit) + '()) + ,@(if system + (list system) + '()) + ,@(if target + (list target) '())))))) (define* (select-builds-with-context conn build-statuses build-server-ids - #:key revision-commit) + #:key revision-commit + system target) (define where-conditions (filter string? @@ -106,7 +121,11 @@ ORDER BY status")) ", ") ")")) (when revision-commit - "guix_revisions.commit = $1")))) + "guix_revisions.commit = $1") + (when system + "package_derivations.system = $2") + (when target + "package_derivations.target = $3")))) (define query (string-append @@ -146,9 +165,15 @@ LIMIT 100")) (exec-query conn query - (if revision-commit - (list revision-commit) - '()))) + `(,@(if revision-commit + (list revision-commit) + '()) + ,@(if system + (list system) + '()) + ,@(if target + (list target) + '())))) (define (select-builds-with-context-by-derivation-file-name conn derivation-file-name) |