[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] reproducible_debian_list_build: The origin of the d-i installer can now
Holger Levsen (@holger)
gitlab at salsa.debian.org
Wed Nov 16 13:40:32 GMT 2022
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
e237cab3 by Roland Clobus at 2022-11-16T14:40:12+01:00
reproducible_debian_list_build: The origin of the d-i installer can now
be specified.
For testing and unstable the d-i installer will be built from git.
Note for later: As soon as bookworm enters the (deep) freeze, the d-i
installer should not be built from git any more.
The new feature was introduced in
https://salsa.debian.org/live-team/live-build/-/merge_requests/293
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
=====================================
@@ -118,8 +118,11 @@ export DESKTOP="$1"
# Argument 2 = Debian version
export SUITE="$2"
-# Two arguments are required
-if [ -z "${DESKTOP}" -o -z "${SUITE}" ]; then
+# Argument 3 = Debian-installer origin
+export INSTALLER_ORIGIN="$3"
+
+# Three arguments are required
+if [ -z "${DESKTOP}" -o -z "${SUITE}" -o -z "${INSTALLER_ORIGIN}" ]; then
output_echo "Error: Bad command line arguments."
exit 1
fi
@@ -180,7 +183,7 @@ set +e # We are interested in the return value
# - If SNAPSHOT_TIMESTAMP is already set, use that value
# - If SNAPSHOT_TIMESTAMP is not set, use REPOSERVER
export SNAPSHOT_TIMESTAMP="${SNAPSHOT_TIMESTAMP:-${REPOSERVER}}"
-rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}"
+rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}" "${INSTALLER_ORIGIN}"
RETURNVALUE=$?
grep --quiet --no-messages "Build result: 0" summary.txt
BUILD_OK_FOUND=$?
@@ -189,7 +192,7 @@ set -e
if [ ${RETURNVALUE} -eq 99 -a "${SNAPSHOT_TIMESTAMP}" == "archive" ]; then
# The archive was updated while building. Retry
output_echo "Info: during the first build the archive was updated, now trying again."
- rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}"
+ rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}" "${INSTALLER_ORIGIN}"
elif [ ${RETURNVALUE} -ne 0 -o ${BUILD_OK_FOUND} -ne 0 ]; then
# Something went wrong. Perhaps an alternative timestamp is proposed
SNAPSHOT_TIMESTAMP=$(grep --no-messages "Alternative timestamp:" summary.txt | cut -f 3 -d " ")
@@ -198,7 +201,7 @@ elif [ ${RETURNVALUE} -ne 0 -o ${BUILD_OK_FOUND} -ne 0 ]; then
exit 1
fi
output_echo "Warning: the build failed with ${RETURNVALUE}. The latest snapshot might not be complete (yet). Now trying again using the previous snapshot instead."
- rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}"
+ rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}" "${INSTALLER_ORIGIN}"
else
# Determine the value of SNAPSHOT_TIMESTAMP for the second build
# If 'archive' is used for the first build, use it for the second build too and hope that the same timestamp will still be available
@@ -215,7 +218,7 @@ mv summary.txt ${RESULTSDIR}/summary_build1.txt
# Second build
output_echo "Running the rebuild script for the 2nd build."
set +e # We are interested in the return value
-rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}"
+rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}" "${INSTALLER_ORIGIN}"
RETURNVALUE=$?
set -e
@@ -225,16 +228,16 @@ if [ "${SNAPSHOT_TIMESTAMP}" == "archive" ]; then
# This is unfortunate, another two (!) builds are required
# Discard both builds and retry
output_echo "Info: during the second build the archive was updated, now trying again."
- rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}"
+ rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}" "${INSTALLER_ORIGIN}"
mv live-image-amd64.hybrid.iso ${RESULTSDIR}/b1/${PROJECTNAME}/${DESKTOP}
mv summary.txt ${RESULTSDIR}/summary_build1.txt
- rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}"
+ rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}" "${INSTALLER_ORIGIN}"
elif [ $(stat ${RESULTSDIR}/b1/${PROJECTNAME}/${DESKTOP}/live-image-amd64.hybrid.iso live-image-amd64.hybrid.iso | grep Modify: | uniq | wc -l) -ne 1 ]; then
# The timestamps are different. Discard the first build and retry
output_echo "Info: between the builds the archive was updated, now trying again."
mv live-image-amd64.hybrid.iso ${RESULTSDIR}/b1/${PROJECTNAME}/${DESKTOP}
mv summary.txt ${RESULTSDIR}/summary_build1.txt
- rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}"
+ rebuild_script/test/rebuild.sh "$1" "$2" "${SNAPSHOT_TIMESTAMP}" "${INSTALLER_ORIGIN}"
fi
fi
=====================================
job-cfg/reproducible.yaml
=====================================
@@ -1028,17 +1028,20 @@
- xfce
debian_version:
- bullseye:
- my_timed: 'H H 8 * *' # The 8th day of a month, sometime during the day
+ my_timed: 'H H 16 * *' # The 16th day of a month, sometime during the day
my_keep_build_days: 95 # About 3 months of history
+ installer_origin: 'archive'
- bookworm:
my_timed: 'H H * * 0' # Every Sunday, sometime during the day
my_keep_build_days: 31 # About one month of history
+ installer_origin: 'git'
- sid:
my_timed: 'H H * * *' # Every day, sometime during the day
my_keep_build_days: 10 # About 1.5 week of history
+ installer_origin: 'git'
jobs:
- 'reproducible_debian_live_build_{imagetype}_{debian_version}':
my_description: 'Build Debian {imagetype} live image for {debian_version} using live-build'
my_hname: 'osuosl173'
- my_shell: '/srv/jenkins/bin/jenkins_master_wrapper.sh {imagetype} {debian_version}'
+ my_shell: '/srv/jenkins/bin/jenkins_master_wrapper.sh {imagetype} {debian_version} {installer_origin}'
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/e237cab3ed87826b1c25b068b88fabcecf020d21
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/e237cab3ed87826b1c25b068b88fabcecf020d21
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/20221116/e426f39e/attachment-0001.htm>
More information about the Qa-jenkins-scm
mailing list