[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] Revert "reproducible: Move the function save_artifacts to reproducible_common.sh"
Holger Levsen (@holger)
gitlab at salsa.debian.org
Mon Jul 26 14:20:46 BST 2021
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
8f95c35e by Holger Levsen at 2021-07-26T15:20:07+02:00
Revert "reproducible: Move the function save_artifacts to reproducible_common.sh"
This reverts commit 2d502e4b1819fdb80188f204f27c36e95394499b.
- - - - -
3 changed files:
- bin/reproducible_build.sh
- bin/reproducible_common.sh
- bin/reproducible_debian_live_build.sh
Changes:
=====================================
bin/reproducible_build.sh
=====================================
@@ -42,9 +42,22 @@ create_results_dirs() {
mkdir -vp $DEBIAN_BASE/buildinfo/${SUITE}/${ARCH}
}
-notification() {
- if [ "$SAVE_ARTIFACTS" = "1" ] ; then
- save_artifacts debian ${SUITE}_${ARCH}_${SRCPACKAGE} $REPRODUCIBLE_URL/rb-pkg/${SUITE}/${ARCH}/${SRCPACKAGE}.html
+save_artifacts() {
+ local random=$(head /dev/urandom | tr -cd '[:alnum:]'| head -c5)
+ local ARTIFACTS="artifacts/r00t-me/${SRCPACKAGE}_${SUITE}_${ARCH}_tmp-${random}"
+ local URL="$DEBIAN_URL/$ARTIFACTS/"
+ local HEADER="$DEBIAN_BASE/$ARTIFACTS/.HEADER.html"
+ mkdir -p $DEBIAN_BASE/$ARTIFACTS
+ cp -r $TMPDIR/* $DEBIAN_BASE/$ARTIFACTS/ || true
+ local msg="Artifacts from this build have been preserved. They will be available for 24h only, so download them now.\n"
+ msg="${msg}WARNING: You shouldn't trust packages downloaded from this host, they can contain malware or the worst of your fears, packaged nicely in debian format.\n"
+ msg="${msg}If you are aware of this and just want to use these artifacts to investigate why $DIFFOSCOPE had issues, you can download the artifacts from the following location: $URL\n"
+ log_info "$msg"
+ echo "<p>" > $HEADER
+ printf "$msg" | sed 's#$#<br />#g' >> $HEADER
+ echo "Package page: <a href=\"$DEBIAN_URL/${SUITE}/${ARCH}/${SRCPACKAGE}\">$DEBIAN_URL/${SUITE}/${ARCH}/${SRCPACKAGE}</a><br />" >> $HEADER
+ echo "</p>" >> $HEADER
+ chmod 644 $HEADER
# irc message
if [ ! -z "$NOTIFY" ] ; then
local MESSAGE="Artifacts for ${SRCPACKAGE}, $STATUS in ${SUITE}/${ARCH}: $URL"
@@ -57,6 +70,11 @@ notification() {
irc_message debian-reproducible "$MESSAGE"
fi
fi
+}
+
+notification() {
+ if [ "$SAVE_ARTIFACTS" = "1" ] ; then
+ save_artifacts # this will also notify IRC as needed
else
case "$NOTIFY" in # the diffoscope_err case is handled by save_artifacts()
''|0) ;;
=====================================
bin/reproducible_common.sh
=====================================
@@ -595,43 +595,6 @@ write_variation_table() {
write_page "</table></p>"
}
-# Save the artifacts located in $TMPDIR
-#
-# Arguments:
-# 1 The top level
-# 2 Base folder name for the artifacts
-# 3 URL to the page with more information
-# Input variables:
-# TMPDIR The folder that contains the artifacts to save
-# DIFFOSCOPE The output of 'diffoscope --version'
-# Variables from reproducible_common:
-# REPRODUCIBLE_URL
-# BASE
-# Variables from Jenkins:
-# BUILD_URL
-# BUILD_TAG
-save_artifacts() {
- local TOP_LEVEL=$1
- local BASE_FOLDER_NAME=$2
- local MOREINFO_URL=$3
- local random=$(head /dev/urandom | tr -cd '[:alnum:]'| head -c5)
- local ARTIFACTS="${TOP_LEVEL}/artifacts/r00t-me/${BASE_FOLDER_NAME}_tmp-${random}"
- local URL="$REPRODUCIBLE_URL/$ARTIFACTS/"
- local HEADER="$BASE/$ARTIFACTS/.HEADER.html"
- mkdir -p $BASE/$ARTIFACTS
- cp -r $TMPDIR/* $BASE/$ARTIFACTS/ || true
- local msg="Artifacts from this build have been preserved. They will be available for 24h only, so download them now.\n"
- msg="${msg}WARNING: You shouldn't trust packages downloaded from this host, they can contain malware or the worst of your fears, packaged nicely in debian format.\n"
- msg="${msg}If you are aware of this and just want to use these artifacts to investigate why $DIFFOSCOPE had issues, you can download the artifacts from the following location: $URL\n"
- log_info "$msg"
- echo "<p>" > $HEADER
- printf "$msg" | sed 's#$#<br />#g' >> $HEADER
- echo "<a href=\"$MOREINFO_URL\">More information</a><br />" >> $HEADER
- echo "These files are generated by Jenkins build: <a href=\"${BUILD_URL}\">${BUILD_TAG}</a><br />" >> $HEADER
- echo "</p>" >> $HEADER
- chmod 644 $HEADER
-}
-
publish_page() {
if [ "$1" = "" ] ; then
TARGET=$PAGE
=====================================
bin/reproducible_debian_live_build.sh
=====================================
@@ -300,11 +300,9 @@ PAGE=${CONFIGURATION}.html
if [ -f "${RESULTSDIR}/${PROJECTNAME}/${CONFIGURATION}/live-image-amd64.hybrid.iso.html" ] ; then
# Publish the output of diffoscope, there are differences
cp -a ${RESULTSDIR}/${PROJECTNAME}/${CONFIGURATION}/live-image-amd64.hybrid.iso.html ${PAGE}
- save_artifacts debian_live_build ${CONFIGURATION} https://wiki.debian.org/ReproducibleInstalls/LiveImages
else
if [ "$RESULT" != "0" ] ; then
echo "${DIFFOSCOPE} for ${PROJECTNAME} in configuration ${CONFIGURATION} returned error code ${RESULT}" > ${PAGE}
- save_artifacts debian_live_build ${CONFIGURATION} https://wiki.debian.org/ReproducibleInstalls/LiveImages
else
echo "${PROJECTNAME} in configuration ${CONFIGURATION} is reproducible" > ${PAGE}
fi
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/8f95c35e89e37844a36b2fbec99a669e2d9d7089
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/8f95c35e89e37844a36b2fbec99a669e2d9d7089
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/20210726/b1f74045/attachment-0001.htm>
More information about the Qa-jenkins-scm
mailing list