reproducible_html_rsync_remote_results.sh 1.47 KB
Newer Older
1
2
#!/bin/bash

Holger Levsen's avatar
Holger Levsen committed
3
# Copyright 2015-2021 Holger Levsen <holger@layer-acht.org>
Holger Levsen's avatar
Holger Levsen committed
4
# released under the GPLv2
5

6
DEBUG=true
7
8
9
. /srv/jenkins/bin/common-functions.sh
common_init "$@"

10
# common code for tests.reproducible-builds.org
11
12
13
. /srv/jenkins/bin/reproducible_common.sh

# that's all
14
rsync_remote_results() {
Holger Levsen's avatar
Holger Levsen committed
15
16
	PROJECT=$1
	NODE=$2
Holger Levsen's avatar
Holger Levsen committed
17
	echo "$(date -u) - Starting to rsync results for '$PROJECT'."
18
	local RESULTS=$(mktemp --tmpdir=$BASE/.. -d reproducible-rsync-${BUILD_ID}-XXXXXXXXX)
Holger Levsen's avatar
Holger Levsen committed
19
	# copy the new results from build node to webserver node
20
21
22
23
24
25
	if $DEBUG ; then
		RSYNCCMD="rsync -r -v -e \"ssh -o 'Batchmode = yes'\" $NODE:$BASE/$PROJECT/ $RESULTS 2>/dev/null"
	else
		RSYNCCMD="rsync -r -v -e \"ssh -o 'Batchmode = yes'\" $NODE:$BASE/$PROJECT/ $RESULTS"
	fi
	if eval $RSYNCCMD ; then
Holger Levsen's avatar
Holger Levsen committed
26
27
28
29
30
31
32
33
34
35
		chmod 775 $RESULTS
		# move old results out of the way
		if [ -d $BASE/$PROJECT ] ; then
			mv $BASE/$PROJECT ${RESULTS}.tmp
			# preserve images and css
			for OBJECT in $(find ${RESULTS}.tmp -name "*css" -o -name "*png" -o -name "*jpg") ; do
				cp -v $OBJECT $RESULTS/
			done
			# delete the old results
			rm ${RESULTS}.tmp -r
36
		fi
Holger Levsen's avatar
Holger Levsen committed
37
38
39
40
41
42
		# make the new results visible
		mv $RESULTS $BASE/$PROJECT
		echo "$(date -u) - $REPRODUCIBLE_URL/$PROJECT has been updated."
	else
		echo "$(date -u) - no new results for '$PROJECT' found."
	fi
43
44
45
46
}

# main
echo "$(date -u) - Starting to rsync results."
47
48
rsync_remote_results coreboot 		osuosl171-amd64.debian.net
rsync_remote_results netbsd		osuosl171-amd64.debian.net
49
echo "$(date -u) - the end."