[Git][qa/jenkins.debian.net][master] rdn stats: adopt to DB format of rebuilderd 0.24.0

Holger Levsen (@holger) gitlab at salsa.debian.org
Mon Jun 30 13:45:01 BST 2025



Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net


Commits:
9fd922a3 by Jochen Sprickerhof at 2025-06-30T14:43:48+02:00
rdn stats: adopt to DB format of rebuilderd 0.24.0

(cherry picked from commit b4093eac0405f67609cee78f2c153729778668b3)
Signed-off-by: Holger Levsen <holger at layer-acht.org>

- - - - -


1 changed file:

- bin/rebuilderd_stats.py


Changes:

=====================================
bin/rebuilderd_stats.py
=====================================
@@ -16,6 +16,7 @@ from urllib.request import urlopen
 
 from psutil._common import bytes2human
 from yaml import safe_load
+from zstandard import ZstdDecompressor
 
 
 def main() -> None:
@@ -98,17 +99,22 @@ def main() -> None:
     if arch == "all":
         del error_messages[one_second_string]
 
+    unzstd = ZstdDecompressor()
+
     messages_packages = {k: [] for k in error_messages.keys()}  # Preserve keys order
     total = 0
-    for row in cu.execute(
-        "SELECT p.name, s.name, p.build_id, p.has_diffoscope, CAST(b.build_log AS TEXT), SUBSTR(b.diffoscope, 1, 100000)"
+    for name, src_name, build_id, build_log, diffoscope in cu.execute(
+        "SELECT p.name, s.name, p.build_id, b.build_log, b.diffoscope"
         " FROM packages p JOIN pkgbases s ON s.id = p.pkgbase_id LEFT JOIN builds b ON b.id = p.build_id"
         " WHERE p.status ='BAD' ORDER BY p.build_id"
     ):
+        build_log = unzstd.stream_reader(build_log).read().decode("utf-8")
+        if diffoscope:
+            diffoscope = unzstd.stream_reader(diffoscope).read().decode("utf-8")
         total += 1
         for message, error_match_fn in error_messages.items():
-            if error_match_fn(row[4], row[5]):
-                messages_packages[message].append({"name": row[0], "src": row[1], "id": row[2], "diff": bool(row[3])})
+            if error_match_fn(build_log, diffoscope):
+                messages_packages[message].append({"name": name, "src": src_name, "id": build_id, "diff": diffoscope is not None})
                 break
     messages_packages = {k: v for k, v in messages_packages.items() if v}  # Remove empty categories
 



View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/9fd922a3a3baa382777e1cf0b10aca0b84fad8e2

-- 
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/9fd922a3a3baa382777e1cf0b10aca0b84fad8e2
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20250630/e851fa65/attachment-0001.htm>


More information about the Qa-jenkins-scm mailing list