[Git][qa/jenkins.debian.net][master] rdn: improve excuses page

Holger Levsen (@holger) gitlab at salsa.debian.org
Tue Sep 29 13:02:31 BST 2026



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


Commits:
c7c2f578 by Jochen Sprickerhof at 2026-09-29T14:01:48+02:00
rdn: improve excuses page

- Add source package name.
- Allow selecting suite.
- Fix display of fail and unknown.
- Separate architectures with horizontal rule.
- Add note if JavaScript is turned of.

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

- - - - -


1 changed file:

- hosts/osuosl5-amd64/var/www/html/excuses.html


Changes:

=====================================
hosts/osuosl5-amd64/var/www/html/excuses.html
=====================================
@@ -26,7 +26,7 @@
         }
 
         .fail {
-            color: yellow;
+            color: blue;
         }
 
         .bad {
@@ -56,7 +56,10 @@
                 return a;
             }
 
-            function searchPkgs(div, source_name, arch) {
+            function searchPkgs(div, source_name, arch, suite) {
+                let hr = document.createElement('hr');
+                div.appendChild(hr);
+
                 let a = document.createElement('pre');
                 a.appendChild(spanWith(`${arch}`));
                 div.appendChild(a);
@@ -64,7 +67,7 @@
                 let url = `/${arch}/api/v1/packages/binary?` + new URLSearchParams({
                     source_name: source_name,
                     distro: 'debian',
-                    release: 'unstable',
+                    release: suite,
                     seen_only: 'true',
                     architecture: arch,
                 });
@@ -88,9 +91,14 @@
                                 statusSpan.className += ' fail';
                             } else if (status == 'BAD') {
                                 statusSpan.className += ' bad';
+                            } else if (build_id) {
+                                statusSpan.className += ' fail';
+                                status = 'FAIL';
                             } else {
                                 statusSpan.className += ' unknown';
+                                status = 'UNKNOWN';
                             }
+                            statusSpan.innerText = status;
                             r.appendChild(statusSpan);
                             r.appendChild(spanWith(`] ${pkg['name']} ${pkg['version']}\t\t`));
 
@@ -117,14 +125,27 @@
                     });
             }
 
+            function addSuite(div, suite, other_suite, source_name) {
+                if (suite == other_suite) {
+                    div.appendChild(spanWith(`${suite} `));
+                } else {
+                    div.appendChild(linkTo(`excuses.html?source_name=${source_name}&suite=${other_suite}`, `${other_suite} `));
+                }
+            }
+
             function fetchStats() {
                 let div = document.getElementById('search-results');
                 // clear children
                 div.innerHTML = '';
                 const archs = ["all", "amd64", "arm64", "armhf", "i386", "loong64", "ppc64el", "riscv64"];
+                const suites = ["experimental", "unstable", "forky", "trixie", "trixie-security", "trixie-updates", "trixie-proposed-updates", "trixie-backports"];
                 const urlParams = new URL(window.location.toLocaleString()).searchParams;
                 const source_name = urlParams.get('source_name');
-                archs.forEach(arch => searchPkgs(div, source_name, arch));
+                const suite = urlParams.has('suite') ? urlParams.get('suite') : 'unstable';
+                div.appendChild(spanWith(`Source package: ${source_name}`));
+                div.appendChild(document.createElement('br'));
+                suites.forEach(other_suite => addSuite(div, suite, other_suite, source_name));
+                archs.forEach(arch => searchPkgs(div, source_name, arch, suite));
             }
 
             fetchStats();
@@ -133,8 +154,8 @@
     </head>
     <body>
         <h1>reproduce.debian.net</h1>
-        </div>
         <div id="search-results">
+            Please enable JavaScript.
         </div>
 
 	<footer>



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

-- 
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/c7c2f57850c4a07ba1cc5672d402ef0267eb4737
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/20260929/5f5285bc/attachment-0001.htm>


More information about the Qa-jenkins-scm mailing list