Skip to content

Commit e68e98f

Browse files
committed
Make empty feeds for sources that don't fail.
Also group hu.dwim specially.
1 parent 459516a commit e68e98f

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

rss-failure-feeds.lisp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
"(hexstreamsoft)"
3333
"(marijnh)averbeke"
3434
"(maraist)"
35+
"(hu\\.dwim)"
3536
"(lichteblau)"
3637
"gitlab.common-lisp.net/(.*?)/"))
3738

@@ -44,8 +45,8 @@
4445
(when (and start (plusp (length starts)))
4546
(subseq target (aref starts 0) (aref ends 0)))))
4647

47-
(defun group-name (failing-source)
48-
(let ((location (location (source failing-source))))
48+
(defun group-name (source)
49+
(let ((location (location source)))
4950
(dolist (pattern *location-grouping-patterns*)
5051
(let ((group (scan-first-register pattern location)))
5152
(when group
@@ -87,6 +88,8 @@
8788
(format nil "http://report.quicklisp.org/rss/~A.rss" group))
8889

8990
(defun generate-feeds (failure-report)
91+
"Return a hash-table of feeds, keyed by feed group name. Special key
92+
'all' has all feeds."
9093
(let ((feeds (make-string-table)))
9194
(labels ((ensure-feed (title link)
9295
(let ((feed (gethash title feeds)))
@@ -100,10 +103,17 @@
100103
:description
101104
(format nil "Quicklisp build failures for ~S"
102105
title)))))))
106+
;; Generate empty feeds for all sources
107+
(map-sources
108+
(lambda (source)
109+
(let ((group-name (group-name source)))
110+
(when group-name
111+
(ensure-feed group-name (feed-link group-name))))))
112+
;; Populate failing sources
103113
(let ((all (ensure-feed "all" (feed-link "all"))))
104114
(dolist (source (failure-data failure-report) feeds)
105115
(let* ((item (failing-source-item source))
106-
(group-name (group-name source)))
116+
(group-name (group-name (source source))))
107117
(push item (items all))
108118
(when group-name
109119
(push item (items (ensure-feed group-name (feed-link group-name)))))))))))

0 commit comments

Comments
 (0)