[Git][qa/jenkins.debian.net][master] rdn: add reproducible-notes to regressions page

Holger Levsen (@holger) gitlab at salsa.debian.org
Fri Oct 9 11:31:43 BST 2026



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


Commits:
29c70508 by Jochen Sprickerhof at 2026-10-09T12:31:34+02:00
rdn: add reproducible-notes to regressions page

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

- - - - -


1 changed file:

- bin/reproducible-migration-blockers.py


Changes:

=====================================
bin/reproducible-migration-blockers.py
=====================================
@@ -4,13 +4,18 @@
 #
 # Licensed under GPL-2
 
+from html import escape
 from urllib.request import urlopen
+
 from yaml import safe_load
 
 
 with urlopen("https://release.debian.org/britney/excuses.yaml") as yaml:
     excuses = safe_load(yaml)
 
+with urlopen("https://salsa.debian.org/reproducible-builds/reproducible-notes/-/raw/master/packages.yml?ref_type=heads") as rn:
+    rn_bugs = safe_load(rn)
+
 regressions = []
 regressions_blocked = []
 new_packages = []
@@ -35,7 +40,16 @@ for source in excuses["sources"]:
     blocked = "migrate-after" in source.get("dependencies", []) or any(
         policy[test]["verdict"] != "PASS" for test in policy if test != "reproducible"
     )
-    package = f'<a href="https://reproduce.debian.net/excuses.html?source_name={source["source"]}">{source["source"]}</a> <a href="https://tracker.debian.org/pkg/{source["source"]}">🍥</a> {policy["age"]["current-age"]} days'
+    package = f'<a href="https://reproduce.debian.net/excuses.html?source_name={source["source"]}">{source["source"]}</a>'
+    package += ' <a href="https://tracker.debian.org/pkg/{source["source"]}">🍥</a> {policy["age"]["current-age"]} days'
+    if rn_bug := rn_bugs.get(source["source"]):
+        if comments := rn_bug.get("comments"):
+            comments = escape(comments).replace("\n", "
")
+            package += f'<span title="{comments}">🗈</span>'
+        for bug in rn_bug.get("bugs", []):
+            package += f'<a style="color: #FF0000;" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug={bug}">#</a>'
+        for issue in rn_bug.get("issues", []):
+            package += f'<a href="https://tests.reproducible-builds.org/debian/issues/unstable/{issue}_issue.html">🐛</a>'
 
     if "state" not in reproducible:
         if blocked:
@@ -52,7 +66,7 @@ for source in excuses["sources"]:
             for arch in reproducible["state"]
             if reproducible["state"][arch] == "unavailable"
         )
-        package = package + f" ({' '.join(archs)})"
+        package += f" ({' '.join(archs)})"
         if blocked:
             waiting_packages_blocked.append(package)
         else:
@@ -79,7 +93,7 @@ for source in excuses["sources"]:
             for arch in reproducible["state"]
             if reproducible["state"][arch] == "waiting for reference"
         )
-        package = package + f" ({' '.join(archs)})"
+        package += f" ({' '.join(archs)})"
         if blocked:
             waiting_reference_blocked.append(package)
         else:



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

-- 
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/29c70508176e0e9efcdf7f36e2c72454fcb7e2fc
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


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


More information about the Qa-jenkins-scm mailing list