[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] reproducible_debian_live_build: Extend testing
Holger Levsen (@holger)
gitlab at salsa.debian.org
Sun Nov 21 17:49:35 GMT 2021
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
d455e466 by Roland Clobus at 2021-11-21T18:49:19+01:00
reproducible_debian_live_build: Extend testing
Extend the tests to include bookworm and sid.
Reduce the testing frequency for bullseye to monthly.
Document each hook and turn it off when the Debian version is
sufficiently new.
Do not use the freshly built ISO files as artifact. They would be able
to consume too much hard disc space in case of differences.
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
2 changed files:
- bin/reproducible_debian_live_build.sh
- job-cfg/reproducible.yaml
Changes:
=====================================
bin/reproducible_debian_live_build.sh
=====================================
@@ -137,6 +137,8 @@ fi
# Add additional hooks, that work around known reproducible issues
# Note: Keep the hooks in sync with https://wiki.debian.org/ReproducibleInstalls/LiveImages
+
+# Prepare a library for deterministic random behaviour of uuid_generate_random
cat > config/hooks/normal/1000-reproducible-function-uuid_generate_random.hook.chroot << EOF
#!/bin/sh
set -e
@@ -202,6 +204,8 @@ END_OF_SOURCE
/usr/bin/cc -shared -fPIC unrandomize_uuid_generate_random.c -Wall --pedantic -o /usr/lib/unrandomize_uuid_generate_random.so
rm -f unrandomize_uuid_generate_random.c
EOF
+
+# No fix in Debian yet
cat > config/hooks/normal/1001-reproducible-fontconfig.hook.chroot << EOF
#!/bin/sh
set -e
@@ -226,6 +230,10 @@ fi
LD_PRELOAD=/usr/lib/unrandomize_uuid_generate_random.so /usr/bin/fc-cache --force --really-force --system-only --verbose
EOF
+
+# The mdadm hook is required before bookworm
+case ${DEBIAN_VERSION} in
+ bullseye)
cat > config/hooks/normal/1002-reproducible-mdadm.hook.chroot << EOF
#!/bin/sh
set -e
@@ -247,6 +255,10 @@ then
fi
sed -i -e '/# This configuration was auto-generated on/cif [ -z \$SOURCE_DATE_EPOCH ]; then\n echo "# This configuration was auto-generated on \$(date -R) by mkconf"\nelse\n echo "# This configuration was auto-generated on \$(date -R --utc -d@\$SOURCE_DATE_EPOCH) by mkconf"\nfi' /usr/share/mdadm/mkconf
EOF
+ ;;
+esac
+
+# No fix in Debian yet
cat > config/hooks/normal/1003-reproducible-plymouth.hook.chroot << EOF
#!/bin/sh
set -e
@@ -272,6 +284,10 @@ then
fi
sed -i -e 's|fc-cache -s|LD_PRELOAD=/usr/lib/unrandomize_uuid_generate_random.so fc-cache|' /usr/share/initramfs-tools/hooks/plymouth
EOF
+
+# The libxml-sax-perl hook is required before bookworm
+case ${DEBIAN_VERSION} in
+ bullseye)
cat > config/hooks/normal/1004-reproducible-libxml-sax-perl.hook.chroot << EOF
#!/bin/sh
set -e
@@ -298,6 +314,10 @@ update-perl-sax-parsers --remove XML::SAX::Expat
update-perl-sax-parsers --add XML::SAX::Expat --priority 50
update-perl-sax-parsers --update
EOF
+ ;;
+esac
+
+# This could be moved to the default live-build configuration
cat > config/hooks/normal/9000-cleanup-ucf-backup-files.hook.chroot << EOF
#!/bin/sh
set -e
@@ -361,6 +381,11 @@ TIMEOUT="240m"
DIFFOSCOPE="$(schroot --directory /tmp -c chroot:jenkins-reproducible-${DBDSUITE}-diffoscope diffoscope -- --version 2>&1)"
TMPDIR=${RESULTSDIR}
call_diffoscope ${PROJECTNAME} ${CONFIGURATION}/live-image-amd64.hybrid.iso
+
+# Do not publish the ISO images as artifact, they would be able to consume too much disk space
+rm -rf ${RESULTSDIR}/b1
+rm -rf ${RESULTSDIR}/b2
+
# List the content of the results directory
PAGE=${CONFIGURATION}.html
if [ -f "${RESULTSDIR}/${PROJECTNAME}/${CONFIGURATION}/live-image-amd64.hybrid.iso.html" ] ; then
=====================================
job-cfg/reproducible.yaml
=====================================
@@ -235,6 +235,11 @@
option: category
categories:
- debian_live_build
+ logrotate:
+ daysToKeep: '{my_keep_build_days}'
+ numToKeep: 50
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
publishers:
- logparser: *logparser
- email: *email
@@ -993,11 +998,18 @@
- standard
- xfce
debian_version:
- - bullseye
+ - bullseye:
+ my_timed: 'H H 8 * *' # The 8th day of a month, sometime during the day
+ my_keep_build_days: 95 # About 3 months of history
+ - bookworm:
+ my_timed: 'H H * * 0' # Every Sunday, sometime during the day
+ my_keep_build_days: 31 # About one month of history
+ - sid:
+ my_timed: 'H H * * *' # Every day, sometime during the day
+ my_keep_build_days: 10 # About 1.5 week of history
jobs:
- 'reproducible_debian_live_build_{imagetype}_{debian_version}':
my_description: 'Build Debian {imagetype} live image for {debian_version} using live-build'
- my_timed: '55 11 * * 0'
my_hname: 'osuosl173'
my_shell: '/srv/jenkins/bin/jenkins_master_wrapper.sh {imagetype} {debian_version}'
my_trigger: 'reproducible_html_rsync_remote_results'
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/d455e466ff2ee389678dd8ec44cefa7630186a6c
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/d455e466ff2ee389678dd8ec44cefa7630186a6c
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/20211121/2de8cb69/attachment-0001.htm>
More information about the Qa-jenkins-scm
mailing list