summaryrefslogtreecommitdiffstats
path: root/bin/reproducible_build.sh
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2015-09-22 09:59:02 +0200
committerHolger Levsen <holger@layer-acht.org>2015-09-22 09:59:02 +0200
commita367551661eda24dbe093299e3960775f3f2b040 (patch)
tree191e4f2defa42d668293b4c750b7695da4f11f2e /bin/reproducible_build.sh
parentdb243c5cf87070cabc4bf3d42e4bcd584beb319e (diff)
downloadjenkins.debian.net-a367551661eda24dbe093299e3960775f3f2b040.tar.xz
reproducible: improve format of the stale-builds-detected emails
Diffstat (limited to 'bin/reproducible_build.sh')
-rwxr-xr-xbin/reproducible_build.sh13
1 files changed, 8 insertions, 5 deletions
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh
index 2d6bce0a..22df05aa 100755
--- a/bin/reproducible_build.sh
+++ b/bin/reproducible_build.sh
@@ -410,20 +410,23 @@ init_package_build() {
local ANNOUNCE="Artifacts will be preserved."
fi
create_results_dirs
- # used to catch race conditions when the same package is being built by two parallel jobs
+ # used to catch race conditions when the same package is build by two parallel jobs
LOCKFILE="/tmp/reproducible-lockfile-${SUITE}-${ARCH}-${SRCPACKAGE}"
echo "============================================================================="
echo "Initialising reproducibly build of ${SRCPACKAGE} in ${SUITE} on ${ARCH} on $(hostname -f) now. $ANNOUNCE"
echo "============================================================================="
# remove previous build attempts which didnt finish correctly
BUILDER_PREFIX="${JOB_NAME#reproducible_builder_}/"
- BAD_BUILDS=$(sqlite3 -init $INIT ${PACKAGES_DB} "SELECT package_id, date_build_started, builder FROM schedule WHERE builder LIKE '${BUILDER_PREFIX}%'")
- if [ ! -z "$BAD_BUILDS" ] ; then
+ BAD_BUILDS=$(mktemp --tmpdir=$TMPDIR)
+ sqlite3 -init $INIT ${PACKAGES_DB} "SELECT package_id, date_build_started, builder FROM schedule WHERE builder LIKE '${BUILDER_PREFIX}%'" > $BAD_BUILDS
+ if [ -s "$BAD_BUILDS" ] ; then
# stale_builds.txt is mailed once a day by reproducible_maintenance.sh
- echo "$(date -u) - stale builds detected, cleaning up database from these entries:" | tee -a /var/lib/jenkins/stale_builds.txt
- echo -n $BAD_BUILDS | tee -a /var/lib/jenkins/stale_builds.txt
+ echo "$(date -u) - stale builds found, cleaning db from these:" | tee -a /var/lib/jenkins/stale_builds.txt
+ cat $BAD_BUILDS | tee -a /var/lib/jenkins/stale_builds.txt
sqlite3 -init $INIT ${PACKAGES_DB} "UPDATE schedule SET date_build_started='' WHERE builder LIKE '${BUILDER_PREFIX}%'"
+ echo >> /var/lib/jenkins/stale_builds.txt
fi
+ rm -f $BAD_BUILDS
# mark build attempt
if [ -z "$(sqlite3 -init $INIT ${PACKAGES_DB} "SELECT date_build_started FROM schedule WHERE package_id = '$SRCPKGID'")" ] ; then
sqlite3 -init $INIT ${PACKAGES_DB} "UPDATE schedule SET date_build_started='$DATE', builder='$BUILDER' WHERE package_id = '$SRCPKGID'"