[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