[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] 8 commits: build_service: fix very long-standing typo in this command

Mattia Rizzolo (@mattia) gitlab at salsa.debian.org
Sat Jun 10 21:26:54 BST 2023



Mattia Rizzolo pushed to branch master at Debian QA / jenkins.debian.net


Commits:
f28b5091 by Mattia Rizzolo at 2023-06-10T14:20:47+02:00
build_service: fix very long-standing typo in this command

Signed-off-by: Mattia Rizzolo <mattia at debian.org>

- - - - -
7b7c33b7 by Mattia Rizzolo at 2023-06-10T14:46:18+02:00
reproducible debian: create pbuilder/schroot jobs

also adjust the scheduling for bullseye and some bookworm now that's
(old)stable

Signed-off-by: Mattia Rizzolo <mattia at debian.org>

- - - - -
9eda33c7 by Mattia Rizzolo at 2023-06-10T14:46:41+02:00
reproducible debian: copy the bookworm results under trixie

Signed-off-by: Mattia Rizzolo <mattia at debian.org>

- - - - -
63eb9050 by Mattia Rizzolo at 2023-06-10T14:47:40+02:00
reproducible debian: start scheduling trixie builds too now \o/

Signed-off-by: Mattia Rizzolo <mattia at debian.org>

- - - - -
f9d5cb38 by Mattia Rizzolo at 2023-06-10T14:47:46+02:00
jenkins_node_wrapper: drop the schroot_*_diffoscope jobs from here, as we are not running them remotely

Signed-off-by: Mattia Rizzolo <mattia at debian.org>

- - - - -
40648f8a by Mattia Rizzolo at 2023-06-10T14:47:52+02:00
reproducible debian, maintenance: TESTING=bookworm→trixie

Signed-off-by: Mattia Rizzolo <mattia at debian.org>

- - - - -
1dc46284 by Mattia Rizzolo at 2023-06-10T14:48:08+02:00
update TODO

Signed-off-by: Mattia Rizzolo <mattia at debian.org>

- - - - -
f5686493 by Mattia Rizzolo at 2023-06-10T22:26:09+02:00
reproducible Debian: enable trixie

Signed-off-by: Mattia Rizzolo <mattia at debian.org>

- - - - -


9 changed files:

- TODO
- bin/jenkins_node_wrapper.sh
- bin/reproducible.ini
- bin/reproducible_build_service.sh
- bin/reproducible_common.sh
- bin/reproducible_db_maintenance.py
- bin/reproducible_maintenance.sh
- bin/reproducible_scheduler.py
- job-cfg/reproducible.yaml


Changes:

=====================================
TODO
=====================================
@@ -26,13 +26,17 @@ See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian
 
 * things to do when bookworm has been released and trixie is open for development
 ** celebrate
-** pause building: shutdown build at service, cleanup_nodes.sh and shutdown jenkins
-** copy {rbuild,logs,dbd,dbdtxt,dbd|json|buildinfo}/{bookworm,trixie}  (need to double check if there is are more dirs)
+** pause building: touch `NO-RB-BUILDERS-PLEASE`, shutdown build at service, reproducible_cleanup_nodes.sh and place jenkins in quiet-down.
+** `for d in buildinfo dbd dbdjson dbdtxt logdiffs logs rbuild ; do sudo -u jenkins cp -a "$d"/{bookworm,trixie} ; done`
 ** do a sql copy like the one we did for bookworm, see migration number 55
 ** create pbuilder setup jobs for trixie
 ** add trixie to the configuration (.py and .sh)
 ** adjust scheduler
-** restarts the builders
+** restart jenkins, run the trixie pbuilder and chroot jobs
+** run the maintenance jobs (to create the apt-venv)
+** once the above jobs are successful, restarts the builders
+** tweak reproducible_common.sh to start collect statistics on the daily builds for trixie too
+** tweak as needed for to properly graphs the just collected statistics
 ** adjust chroot jobs
 ** adjust orphaned/multiarch jobs
 ** upgrade amd64 nodes to bookworm (except jenkins)


=====================================
bin/jenkins_node_wrapper.sh
=====================================
@@ -148,6 +148,8 @@ elif [[ "$*" =~ ^reproducible_setup_pbuilder_bullseye_.*_.* ]] ; then
 	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh bullseye ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_setup_pbuilder_bookworm_.*_.* ]] ; then
 	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh bookworm ; croak "Exec failed";
+elif [[ "$*" =~ ^reproducible_setup_pbuilder_trixie_.*_.* ]] ; then
+	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh trixie ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_setup_pbuilder_unstable_.*_.* ]] ; then
 	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh unstable ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_setup_pbuilder_experimental_.*_.* ]] ; then
@@ -156,14 +158,6 @@ elif [[ "$*" =~ ^reproducible_maintenance_.*_.* ]] ; then
 	exec /srv/jenkins/bin/reproducible_maintenance.sh ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_node_health_check_.*_.* ]] ; then
 	exec /srv/jenkins/bin/reproducible_node_health_check.sh ; croak "Exec failed";
-elif [[ "$*" =~ ^reproducible_setup_schroot_buster_diffoscope_.*_.* ]] ; then
-	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-buster-diffoscope buster diffoscope locales-all ; croak "Exec failed";
-elif [[ "$*" =~ ^reproducible_setup_schroot_bullseye_diffoscope_.*_.* ]] ; then
-	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-bullseye-diffoscope bullseye diffoscope locales-all ; croak "Exec failed";
-elif [[ "$*" =~ ^reproducible_setup_schroot_bookworm_diffoscope_.*_.* ]] ; then
-	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-bookworm-diffoscope bookworm diffoscope locales-all ; croak "Exec failed";
-elif [[ "$*" =~ ^reproducible_setup_schroot_unstable_diffoscope_.*_.* ]] ; then
-	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-unstable-diffoscope unstable diffoscope locales-all openqa-client ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_coreboot ]] ; then
 	exec /srv/jenkins/bin/reproducible_coreboot.sh ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_openwrt ]] ; then


=====================================
bin/reproducible.ini
=====================================
@@ -24,7 +24,7 @@ buildinfo = buildinfo
 [debian]
 distro_root = debian
 landing_page = reproducible.html
-suites = unstable bookworm bullseye buster experimental
+suites = unstable trixie bookworm bullseye buster experimental
 archived_suites = stretch
 archs = amd64 arm64 armhf i386
 defaultsuite = unstable


=====================================
bin/reproducible_build_service.sh
=====================================
@@ -231,7 +231,7 @@ check_lock() {
 	if [ -f "$LOCKFILE" ]; then
 		echo "The lockfile $LOCKFILE is present, exiting the service..."
 		while : ; do
-			children="$(pgre --list-full --parent $$)"
+			children="$(pgrep --list-full --parent $$)"
 			if [ -n "$children" ]; then
 				local SLEEPTIME=15m
 				echo "There are still some child processes, waiting $SLEEPTIME for them:"


=====================================
bin/reproducible_common.sh
=====================================
@@ -34,7 +34,7 @@ CHPATH=/srv/reproducible-results/chdist
 mkdir -p "$CHPATH"
 
 # Debian suites being tested
-SUITES="unstable bookworm bullseye buster experimental"
+SUITES="unstable trixie bookworm bullseye buster experimental"
 ARCHIVED_SUITES="stretch"
 # Debian architectures being tested
 ARCHS="amd64 arm64 armhf i386"


=====================================
bin/reproducible_db_maintenance.py
=====================================
@@ -804,6 +804,26 @@ schema_updates = {
                       without_buildinfo INTEGER,
                       PRIMARY KEY (datum, suite, architecture))''',
     ],
+    57: [  # copy bookworm packages (including results) in trixie
+        """INSERT INTO sources (name, version, suite, architecture, notify_maintainer, distribution)
+            SELECT name, version, 'trixie', architecture, notify_maintainer, distribution
+            FROM sources
+            WHERE suite = 'bookworm'""",
+        """WITH tr AS (
+                SELECT id, name, suite, architecture, version
+                FROM sources WHERE suite = 'trixie'),
+            sr AS (
+                SELECT s.name, s.architecture, r.version, r.status,
+                    r.build_date, r.build_duration, r.node1, r.node2, r.job
+                FROM sources AS s JOIN results AS r ON s.id=r.package_id
+                WHERE s.suite = 'bookworm')
+            INSERT INTO results (package_id, version, status, build_date,
+                    build_duration, node1, node2, job)
+                SELECT tr.id, sr.version, sr.status, sr.build_date,
+                    sr.build_duration, sr.node1, sr.node2, sr.job
+                FROM tr JOIN sr ON tr.name=sr.name
+                    AND tr.architecture=sr.architecture""",
+    ],
 }
 
 


=====================================
bin/reproducible_maintenance.sh
=====================================
@@ -507,7 +507,7 @@ cleanup_old_schroots "schroots" 31 "/schroots/(reproducible-.+-[0-9]{1,5}|schroo
 if [ -f /etc/debian_testing ] ; then
 	TESTING=$(cat /etc/debian_testing)
 else
-	TESTING=bookworm
+	TESTING=trixie
 fi
 cleanup_old_schroots "unstable and $TESTING schroots" 5 "/schroots/reproducible-(unstable|$TESTING)-diffoscope-.+-[0-9]{1,5}"
 
@@ -790,7 +790,7 @@ echo "$(date -u) - Checking for files with bad permissions."
 # automatically fix rbuild files with wrong permissions...
 # (we know it happens (very rarely) but... shrugs.)
 [ ! -d $DEBIAN_BASE/rbuild ] || find $DEBIAN_BASE/rbuild ! -perm 644 -type f -exec chmod -v 644 {} \; 2>/dev/null|| true
-BADPERMS=$(find $DEBIAN_BASE/{buildinfo,dbd,artifacts,buster,bullseye,bookworm,unstable,experimental,rb-pkg} ! -perm 644 -type f 2>/dev/null|| true)
+BADPERMS=$(find $DEBIAN_BASE/{buildinfo,dbd,dbdtxt,dbdjson,logs,logdiffs,rbuild,artifacts,buster,bullseye,bookworm,trixie,unstable,experimental,rb-pkg} ! -perm 644 -type f 2>/dev/null|| true)
 if [ -n "$BADPERMS" ] ; then
     DIRTY=true
     echo


=====================================
bin/reproducible_scheduler.py
=====================================
@@ -76,6 +76,7 @@ LIMITS = {
             'buster': {'*': 255},
             'bullseye': {'*': 255},
             'bookworm': {'*': 255},
+            'trixie': {'*': 255},
             'unstable': {'*': 255},
             'experimental': {'*': 255},
         },
@@ -83,6 +84,7 @@ LIMITS = {
             'buster': {'*': 255},
             'bullseye': {'*': 255},
             'bookworm': {'*': 255},
+            'trixie': {'*': 255},
             'unstable': {'*': 255},
             'experimental': {'*': 255},
         },
@@ -90,6 +92,7 @@ LIMITS = {
             'buster': {'*': 255},
             'bullseye': {'*': 255},
             'bookworm': {'*': 255},
+            'trixie': {'*': 255},
             'unstable': {'*': 255},
             'experimental': {'*': 255},
         },
@@ -97,6 +100,7 @@ LIMITS = {
             'buster': {'*': 255},
             'bullseye': {'*': 255},
             'bookworm': {'*': 255},
+            'trixie': {'*': 255},
             'unstable': {'*': 255},
             'experimental': {'*': 255},
         },
@@ -104,8 +108,9 @@ LIMITS = {
     'new': {
         'amd64': {
             'buster': {1: (1000, 500), 2: (1500, 650), '*': 100},
-            'bullseye': {1: (1000, 500), 2: (1500, 750), '*': 150},
+            'bullseye': {1: (1000, 500), 2: (1500, 650), '*': 150},
             'bookworm': {1: (1000, 500), 2: (1500, 750), '*': 150},
+            'trixie': {1: (1000, 500), 2: (1500, 750), '*': 150},
             'unstable': {1: (1000, 500), 2: (1500, 750), '*': 250},
             'experimental': {1: (1000, 500), 2: (1500, 750), '*': 50},
         },
@@ -113,20 +118,23 @@ LIMITS = {
             'buster': {1: (800, 400), 2: (1300, 650), '*': 100},
             'bullseye': {1: (900, 400), 2: (1300, 650), '*': 100},
             'bookworm': {1: (900, 400), 2: (1300, 650), '*': 100},
+            'trixie': {1: (900, 400), 2: (1300, 650), '*': 100},
             'unstable': {1: (1000, 600), 2: (1300, 750), '*': 250},
             'experimental': {1: (800, 500), 2: (1300, 750), '*': 50},
         },
         'arm64': {
             'buster': {1: (1000, 500), 2: (1500, 650), '*': 50},
-            'bullseye': {1: (1000, 500), 2: (1500, 750), '*': 150},
+            'bullseye': {1: (1000, 500), 2: (1500, 650), '*': 50},
             'bookworm': {1: (1000, 500), 2: (1500, 750), '*': 150},
+            'trixie': {1: (1000, 500), 2: (1500, 750), '*': 150},
             'unstable': {1: (1000, 500), 2: (1500, 750), '*': 125},
             'experimental': {1: (1000, 500), 2: (1500, 750), '*': 25},
         },
         'armhf': {
             'buster': {1: (900, 300), 2: (1400, 450), '*': 50},
-            'bullseye': {1: (900, 400), 2: (1400, 600), '*': 75},
+            'bullseye': {1: (900, 300), 2: (1400, 450), '*': 75},
             'bookworm': {1: (900, 400), 2: (1400, 600), '*': 75},
+            'trixie': {1: (900, 400), 2: (1400, 600), '*': 75},
             'unstable': {1: (900, 450), 2: (1400, 650), '*': 150},
             'experimental': {1: (900, 400), 2: (1400, 600), '*': 25},
         },
@@ -134,29 +142,33 @@ LIMITS = {
     'ftbfs': {
         'amd64': {
             'buster': {1: (1000, 0), 2: (1500, 0), '*': 0},
-            'bullseye': {1: (1000, 20), 2: (1500, 10), '*': 5},
-            'bookworm': {1: (1000, 40), 2: (1500, 20), '*': 5},
+            'bullseye': {1: (1000, 10), 2: (1500, 10), '*': 5},
+            'bookworm': {1: (1000, 10), 2: (1500, 10), '*': 5},
+            'trixie': {1: (1000, 40), 2: (1500, 20), '*': 5},
             'unstable': {1: (1000, 40), 2: (1500, 20), '*': 5},
             'experimental': {1: (1000, 40), 2: (1500, 20), '*': 2},
         },
         'i386': {
             'buster': {1: (1000, 0), 2: (1300, 0), '*': 0},
             'bullseye': {1: (1000, 20), 2: (1300, 10), '*': 5},
-            'bookworm': {1: (1000, 40), 2: (1300, 20), '*': 5},
+            'bookworm': {1: (1000, 20), 2: (1300, 10), '*': 5},
+            'trixie': {1: (1000, 40), 2: (1300, 20), '*': 5},
             'unstable': {1: (1000, 40), 2: (1300, 20), '*': 5},
             'experimental': {1: (1000, 40), 2: (1300, 20), '*': 2},
         },
         'arm64': {
             'buster': {1: (1000, 0), 2: (1500, 0), '*': 0},
             'bullseye': {1: (1000, 20), 2: (1500, 10), '*': 5},
-            'bookworm': {1: (1000, 40), 2: (1500, 20), '*': 5},
+            'bookworm': {1: (1000, 20), 2: (1500, 10), '*': 5},
+            'trixie': {1: (1000, 40), 2: (1500, 20), '*': 5},
             'unstable': {1: (1000, 40), 2: (1500, 20), '*': 5},
             'experimental': {1: (1000, 40), 2: (1500, 20), '*': 2},
         },
         'armhf': {
             'buster': {1: (900, 0), 2: (1400, 0), '*': 0},
             'bullseye': {1: (900, 10), 2: (1400, 5), '*': 5},
-            'bullseye': {1: (900, 20), 2: (1400, 10), '*': 5},
+            'bookworm': {1: (900, 10), 2: (1400, 5), '*': 5},
+            'trixie': {1: (900, 20), 2: (1400, 10), '*': 5},
             'unstable': {1: (900, 20), 2: (1400, 10), '*': 5},
             'experimental': {1: (900, 20), 2: (1400, 10), '*': 2},
         }
@@ -165,28 +177,32 @@ LIMITS = {
         'amd64': {
             'buster': {1: (1000, 0), 2: (1500, 0), '*': 0},
             'bullseye': {1: (1000, 200), 2: (1500, 100), '*': 50},
-            'bookworm': {1: (1000, 400), 2: (1500, 200), '*': 50},
+            'bookworm': {1: (1000, 200), 2: (1500, 100), '*': 50},
+            'trixie': {1: (1000, 400), 2: (1500, 200), '*': 50},
             'unstable': {1: (1000, 400), 2: (1500, 200), '*': 50},
             'experimental': {1: (1000, 400), 2: (1500, 200), '*': 20},
         },
         'i386': {
             'buster': {1: (800, 0), 2: (1300, 0), '*': 0},
             'bullseye': {1: (800, 200), 2: (1300, 100), '*': 50},
-            'bookworm': {1: (800, 400), 2: (1300, 200), '*': 50},
+            'bookworm': {1: (800, 200), 2: (1300, 100), '*': 50},
+            'trixie': {1: (800, 400), 2: (1300, 200), '*': 50},
             'unstable': {1: (800, 400), 2: (1300, 200), '*': 50},
             'experimental': {1: (800, 400), 2: (1300, 200), '*': 20},
         },
         'arm64': {
             'buster': {1: (1000, 0), 2: (1500, 0), '*': 0},
             'bullseye': {1: (1000, 200), 2: (1500, 100), '*': 50},
-            'bookworm': {1: (1000, 400), 2: (1500, 200), '*': 50},
+            'bookworm': {1: (1000, 200), 2: (1500, 100), '*': 50},
+            'trixie': {1: (1000, 400), 2: (1500, 200), '*': 50},
             'unstable': {1: (1000, 400), 2: (1500, 200), '*': 50},
             'experimental': {1: (1000, 400), 2: (1500, 200), '*': 20},
         },
         'armhf': {
             'buster': {1: (900, 0), 2: (1400, 0), '*': 0},
             'bullseye': {1: (900, 100), 2: (1400, 50), '*': 50},
-            'bookworm': {1: (900, 200), 2: (1400, 100), '*': 50},
+            'bookworm': {1: (900, 100), 2: (1400, 50), '*': 50},
+            'trixe': {1: (900, 200), 2: (1400, 100), '*': 50},
             'unstable': {1: (900, 200), 2: (1400, 100), '*': 50},
             'experimental': {1: (900, 200), 2: (1400, 100), '*': 20},
         }
@@ -195,28 +211,32 @@ LIMITS = {
         'amd64': {
             'buster': {1: (1000, 0), 2: (1500, 0), '*': 0},
             'bullseye': {1: (1000, 0), 2: (1500, 0), '*': 0},
-            'bookworm': {1: (1000, 1200), 2: (1500, 1000), '*': 0},
+            'bookworm': {1: (1000, 10), 2: (1500, 10), '*': 0},
+            'trixie': {1: (1000, 1200), 2: (1500, 1000), '*': 0},
             'unstable': {1: (1000, 1350), 2: (1500, 1150), '*': 0},
             'experimental': {1: (1000, 70), 2: (1500, 50), '*': 0},
         },
         'i386': {
             'buster': {1: (800, 0), 2: (1300, 0), '*': 0},
             'bullseye': {1: (800, 0), 2: (1300, 0), '*': 0},
-            'bookworm': {1: (1000, 1000), 2: (1500, 850), '*': 0},
+            'bookworm': {1: (1000, 10), 2: (1500, 10), '*': 0},
+            'trixie': {1: (1000, 1000), 2: (1500, 850), '*': 0},
             'unstable': {1: (800, 1100), 2: (1300, 950), '*': 0},
             'experimental': {1: (800, 70), 2: (1300, 50), '*': 0},
         },
         'arm64': {
             'buster': {1: (1000, 0), 2: (1500, 0), '*': 0},
             'bullseye': {1: (1000, 0), 2: (1500, 0), '*': 0},
-            'bookworm': {1: (1000, 1200), 2: (1500, 1000), '*': 0},
+            'bookworm': {1: (1000, 10), 2: (1500, 10), '*': 0},
+            'trixie': {1: (1000, 1200), 2: (1500, 1000), '*': 0},
             'unstable': {1: (1000, 1300), 2: (1500, 1100), '*': 0},
             'experimental': {1: (1000, 70), 2: (1500, 50), '*': 0},
         },
         'armhf': {
             'buster': {1: (900, 0), 2: (1400, 0), '*': 0},
             'bullseye': {1: (900, 0), 2: (1400, 0), '*': 0},
-            'bookworm': {1: (1000, 900), 2: (1500, 600), '*': 0},
+            'bookworm': {1: (1000, 10), 2: (1500, 10), '*': 0},
+            'trixie': {1: (1000, 900), 2: (1500, 600), '*': 0},
             'unstable': {1: (900, 1200), 2: (1400, 800), '*': 0},
             'experimental': {1: (900, 70), 2: (1400, 50), '*': 0},
         }


=====================================
job-cfg/reproducible.yaml
=====================================
@@ -429,10 +429,13 @@
                     my_timed: '23 8 7 * *'
                 - 'setup_pbuilder_bullseye':
                     my_description: 'Setup pbuilder for reproducible builds of packages from bullseye'
-                    my_timed: '23 9 7,21 * *'
+                    my_timed: '23 9 7 * *'
                 - 'setup_pbuilder_bookworm':
                     my_description: 'Setup pbuilder for reproducible builds of packages from bookworm'
-                    my_timed: '23 10 H/3 * *'
+                    my_timed: '23 10 7 * *'
+                - 'setup_pbuilder_trixie':
+                    my_description: 'Setup pbuilder for reproducible builds of packages from trixie'
+                    my_timed: '23 11 H/3 * *'
                 - 'setup_pbuilder_unstable':
                     my_description: 'Setup pbuilder for reproducible builds of packages from unstable'
                     my_timed: '42 7 H/2 * *'
@@ -483,14 +486,19 @@
                     my_disabled: false
                 - 'bullseye_diffoscope':
                     my_description: 'Setup schroot for running diffoscope in a bullseye environment (this is needed to be able to correctly investigate haskell binaries...)'
-                    my_timed: '23 0 7,21 * *'
+                    my_timed: '23 0 7 * *'
                     my_shell: '/srv/jenkins/bin/schroot-create.sh reproducible reproducible-bullseye-diffoscope bullseye diffoscope locales-all'
                     my_disabled: false
                 - 'bookworm_diffoscope':
                     my_description: 'Setup schroot for running diffoscope in a bookworm environment (this is needed to be able to correctly investigate haskell binaries...)'
-                    my_timed: '23 1 H/2 * *'
+                    my_timed: '23 1 7,21 * *'
                     my_shell: '/srv/jenkins/bin/schroot-create.sh reproducible reproducible-bookworm-diffoscope bookworm diffoscope locales-all'
                     my_disabled: false
+                - 'trixie_diffoscope':
+                    my_description: 'Setup schroot for running diffoscope in a trixie environment (this is needed to be able to correctly investigate haskell binaries...)'
+                    my_timed: '23 1 H/2 * *'
+                    my_shell: '/srv/jenkins/bin/schroot-create.sh reproducible reproducible-trixie-diffoscope trixie diffoscope locales-all'
+                    my_disabled: false
                 - 'unstable_diffoscope':
                     my_description: 'Setup schroot for running diffoscope in a unstable environment (this is needed to be able to correctly investigate haskell binaries...)'
                     my_timed: '42 0 H/2 * *'



View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/compare/9d2a5bce702ead3bcdcefa5466224d94aa632abb...f5686493fcf8d700d6795dcad91734d4b766f217

-- 
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/compare/9d2a5bce702ead3bcdcefa5466224d94aa632abb...f5686493fcf8d700d6795dcad91734d4b766f217
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/20230610/6dead03e/attachment-0001.htm>


More information about the Qa-jenkins-scm mailing list