aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage/manage-patch-branches.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-10-18 10:11:41 +0100
committerChristopher Baines <mail@cbaines.net>2023-10-18 10:25:14 +0100
commite95a7a7aa0c9a3a66eeef6c9c2b5c5cc200248d5 (patch)
tree240595b9f6355d0ec1f96dcd0823fe03dfb58613 /guix-qa-frontpage/manage-patch-branches.scm
parentb39bbbb297033b34d9812bd02e54f545d50ec971 (diff)
downloadqa-frontpage-e95a7a7aa0c9a3a66eeef6c9c2b5c5cc200248d5.tar
qa-frontpage-e95a7a7aa0c9a3a66eeef6c9c2b5c5cc200248d5.tar.gz
Rework managing patch branches
Delete branches which no longer appear in the latest patchwork series and simplify some of the code.
Diffstat (limited to 'guix-qa-frontpage/manage-patch-branches.scm')
-rw-r--r--guix-qa-frontpage/manage-patch-branches.scm46
1 files changed, 24 insertions, 22 deletions
diff --git a/guix-qa-frontpage/manage-patch-branches.scm b/guix-qa-frontpage/manage-patch-branches.scm
index fd7188a..fb2d503 100644
--- a/guix-qa-frontpage/manage-patch-branches.scm
+++ b/guix-qa-frontpage/manage-patch-branches.scm
@@ -298,6 +298,13 @@
(let ((issue-numbers
(map string->number
(issue-numbers-for-branches)))
+ (all-patchwork-series
+ (with-sqlite-cache
+ database
+ 'latest-patchwork-series-by-issue
+ latest-patchwork-series-by-issue
+ #:args `(#:count ,series-count)
+ #:ttl 120))
(latest-master-revision
(get-latest-processed-branch-revision "master")))
@@ -326,6 +333,14 @@
issue-number)
#t)
#f)
+ (if (not (assq-ref all-patchwork-series issue-number))
+ (begin
+ (simple-format
+ (current-error-port)
+ "Removing ~A, issue no longer in latest-patchwork-series-by-issue\n"
+ issue-number)
+ #t)
+ #f)
(let ((base-commit
(assq-ref
(get-issue-branch-base-and-target-refs issue-number)
@@ -385,30 +400,16 @@
issue-numbers))
(simple-format #t "finished checking for branches to delete\n")
- (let* ((all-patchwork-series
+ (let* ((issue-numbers
+ (map string->number
+ (issue-numbers-for-branches)))
+ (all-patchwork-series
(with-sqlite-cache
database
'latest-patchwork-series-by-issue
latest-patchwork-series-by-issue
#:args `(#:count ,series-count)
- #:ttl 120))
- (issue-numbers
- (map string->number
- (issue-numbers-for-branches)))
- (series-to-create-branches-for
- (let ((recent-series
- (take all-patchwork-series
- series-count)))
- (append
- recent-series
- (filter-map
- (lambda (issue-number)
- (if (assq-ref recent-series issue-number)
- #f
- (cons issue-number
- (assq-ref all-patchwork-series
- issue-number))))
- issue-numbers)))))
+ #:ttl 120)))
(for-each
(match-lambda
((issue-number . patchwork-series)
@@ -456,11 +457,12 @@
(assoc-ref patchwork-series
"id"))))
#:unwind? #t))))
- series-to-create-branches-for)
+ all-patchwork-series)
(simple-format (current-error-port)
- "finished processing patch branches (last issue: ~A)\n"
- (car (last series-to-create-branches-for)))))
+ "finished processing patch branches (first: ~A, last: ~A)\n"
+ (car (first all-patchwork-series))
+ (car (last all-patchwork-series)))))
(setenv "GIT_SSH_COMMAND"
"ssh -o StrictHostKeyChecking=no")