aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-12-17 19:33:35 +0000
committerChristopher Baines <mail@cbaines.net>2024-12-17 19:33:35 +0000
commit572be25bcf29e5e4d0977bbdd661006bfbadd2cc (patch)
tree2bc95e276e759fde01a589635b0f4897ad9f0f65 /guix-qa-frontpage
parente4799b81a9f9a986fc510390d84f2d05b7974656 (diff)
downloadqa-frontpage-572be25bcf29e5e4d0977bbdd661006bfbadd2cc.tar
qa-frontpage-572be25bcf29e5e4d0977bbdd661006bfbadd2cc.tar.gz
Use Guile Knots
Rather than the build coordinator for fibers utilties.
Diffstat (limited to 'guix-qa-frontpage')
-rw-r--r--guix-qa-frontpage/branch.scm1
-rw-r--r--guix-qa-frontpage/guix-data-service.scm8
-rw-r--r--guix-qa-frontpage/issue.scm2
-rw-r--r--guix-qa-frontpage/manage-builds.scm9
-rw-r--r--guix-qa-frontpage/patchwork.scm7
-rw-r--r--guix-qa-frontpage/server.scm13
-rw-r--r--guix-qa-frontpage/utils.scm13
7 files changed, 30 insertions, 23 deletions
diff --git a/guix-qa-frontpage/branch.scm b/guix-qa-frontpage/branch.scm
index 5266ade..5a51a59 100644
--- a/guix-qa-frontpage/branch.scm
+++ b/guix-qa-frontpage/branch.scm
@@ -32,6 +32,7 @@
#:use-module ((guix build syscalls)
#:select (set-thread-name))
#:use-module (fibers)
+ #:use-module (knots non-blocking)
#:use-module (guix-qa-frontpage utils)
#:use-module (guix-qa-frontpage mumi)
#:use-module (guix-qa-frontpage git-repository)
diff --git a/guix-qa-frontpage/guix-data-service.scm b/guix-qa-frontpage/guix-data-service.scm
index 422cabf..40e2560 100644
--- a/guix-qa-frontpage/guix-data-service.scm
+++ b/guix-qa-frontpage/guix-data-service.scm
@@ -11,6 +11,9 @@
#:use-module (rnrs bytevectors)
#:use-module (zlib)
#:use-module (json)
+ #:use-module (fibers)
+ #:use-module (knots timeout)
+ #:use-module (knots non-blocking)
#:use-module ((guix-build-coordinator utils fibers) #:select (retry-on-error))
#:use-module (guix-qa-frontpage utils)
#:use-module (guix-qa-frontpage patchwork)
@@ -174,8 +177,7 @@
(define* (guix-data-service-request url #:key (retry-times 0) (retry-delay 5))
(define (make-request)
(let ((port
- socket
- (open-socket-for-uri* (string->uri url))))
+ (nonblocking-open-socket-for-uri (string->uri url))))
(let ((response
body
@@ -226,7 +228,7 @@
(make-request)
(retry-on-error
(lambda ()
- (with-fibers-port-timeouts
+ (with-port-timeouts
make-request
#:timeout 120))
#:times retry-times
diff --git a/guix-qa-frontpage/issue.scm b/guix-qa-frontpage/issue.scm
index df5f9e0..beed41f 100644
--- a/guix-qa-frontpage/issue.scm
+++ b/guix-qa-frontpage/issue.scm
@@ -27,6 +27,8 @@
#:use-module ((guix build syscalls)
#:select (set-thread-name))
#:use-module (fibers)
+ #:use-module (knots non-blocking)
+ #:use-module (knots parallelism)
#:use-module (guix-qa-frontpage utils)
#:use-module (guix-qa-frontpage database)
#:use-module (guix-qa-frontpage manage-builds)
diff --git a/guix-qa-frontpage/manage-builds.scm b/guix-qa-frontpage/manage-builds.scm
index e55c27c..5ff2084 100644
--- a/guix-qa-frontpage/manage-builds.scm
+++ b/guix-qa-frontpage/manage-builds.scm
@@ -7,6 +7,9 @@
#:use-module (ice-9 threads)
#:use-module (ice-9 exceptions)
#:use-module (fibers)
+ #:use-module (knots parallelism)
+ #:use-module (knots non-blocking)
+ #:use-module (knots timeout)
#:use-module (prometheus)
#:use-module (guix sets)
#:use-module ((guix build syscalls)
@@ -502,7 +505,7 @@
(retry-on-error
(lambda ()
(let ((response
- (with-fibers-port-timeouts
+ (with-port-timeouts
(lambda ()
(send-submit-build-request
build-coordinator
@@ -552,7 +555,7 @@
"canceling builds for ~A ~A\n"
category-name
category-value)
- (with-fibers-port-timeouts
+ (with-port-timeouts
(lambda ()
(let loop ((uuids-batch (fetch-build-uuids)))
(for-each
@@ -614,7 +617,7 @@
category-name
category-value
revision)
- (with-fibers-port-timeouts
+ (with-port-timeouts
(lambda ()
(let loop ((uuids-batch (fetch-build-uuids)))
(let ((builds-to-cancel
diff --git a/guix-qa-frontpage/patchwork.scm b/guix-qa-frontpage/patchwork.scm
index 08bf62f..0ebb248 100644
--- a/guix-qa-frontpage/patchwork.scm
+++ b/guix-qa-frontpage/patchwork.scm
@@ -7,6 +7,9 @@
#:use-module (ice-9 match)
#:use-module (rnrs bytevectors)
#:use-module (json)
+ #:use-module (fibers)
+ #:use-module (knots non-blocking)
+ #:use-module (knots timeout)
#:use-module (web uri)
#:use-module (web client)
#:use-module (web request)
@@ -80,7 +83,7 @@
(retry-on-error
(lambda ()
(http-request uri
- #:port (open-socket-for-uri* uri)
+ #:port (nonblocking-open-socket-for-uri uri)
#:decode-body? #f
#:streaming? #t))
#:times 2
@@ -250,7 +253,7 @@
;; Need more series, so keep going
(let* ((series-batch
next-page-uri
- (with-fibers-port-timeouts
+ (with-port-timeouts
(lambda ()
(request-patchwork-series patchwork-uri))
#:timeout 60))
diff --git a/guix-qa-frontpage/server.scm b/guix-qa-frontpage/server.scm
index d67dd51..b222969 100644
--- a/guix-qa-frontpage/server.scm
+++ b/guix-qa-frontpage/server.scm
@@ -33,6 +33,7 @@
#:use-module (fibers scheduler)
#:use-module (fibers conditions)
#:use-module (guix store)
+ #:use-module (knots web-server)
#:use-module ((guix build syscalls)
#:select (set-thread-name))
#:use-module ((guix-data-service utils)
@@ -42,9 +43,9 @@
#:select (parse-query-string))
#:use-module ((guix-build-coordinator utils)
#:select (with-time-logging
- call-with-delay-logging))
+ call-with-delay-logging))
#:use-module ((guix-build-coordinator utils fibers)
- #:select (run-server/patched call-with-sigint))
+ #:select (call-with-sigint))
#:use-module (guix-qa-frontpage database)
#:use-module (guix-qa-frontpage derivation-changes)
#:use-module (guix-qa-frontpage reproducible-builds)
@@ -910,9 +911,11 @@ has no patches or has been closed.")
(iota (length schedulers))
schedulers))
- (run-server/patched
- (lambda (request body)
- (apply values (handler request body controller)))
+ (run-knots-web-server
+ (lambda (request)
+ (apply values (handler request
+ (read-request-body request)
+ controller)))
#:host host
#:port port)
diff --git a/guix-qa-frontpage/utils.scm b/guix-qa-frontpage/utils.scm
index 2cb00ac..60f8bc0 100644
--- a/guix-qa-frontpage/utils.scm
+++ b/guix-qa-frontpage/utils.scm
@@ -24,17 +24,10 @@
#:use-module (zlib)
#:use-module (fibers)
#:use-module (fibers channels)
- #:use-module ((guix-build-coordinator utils) #:select (with-port-timeouts
- open-socket-for-uri*))
- #:use-module (guix-build-coordinator utils fibers)
+ #:use-module (knots timeout)
#:export (fiberize
- fibers-map
- fibers-batch-for-each
- fibers-for-each
- non-blocking
- call-with-zlib-input-port*)
- #:re-export (with-fibers-port-timeouts
- open-socket-for-uri*))
+ call-with-zlib-input-port*
+ non-blocking))
(define* (fiberize proc #:key (parallelism 1))
(let ((channel (make-channel)))