blob: b279abc3cd46c06ce42a8a8e437d06de06159142 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
#
LOGS=$(pwd)/logs
STAMPS=$(pwd)/stamps
BUILDS=$(pwd)/builds
SOURCES=$(pwd)/src
mkdir -p "$LOGS"
mkdir -p "$STAMPS"
mkdir -p "$BUILDS"
mkdir -p "$SOURCES"
ID=$(basename $0)
libcamera_version() {
project="$1"
cd "$project" && ./utils/gen-version.sh
}
libcamera_branch() {
project="$1"
git -C "$project" rev-parse --abbrev-ref HEAD
}
log_filename () {
echo "$LOGS/$1.log"
}
buildstamp_filename() {
echo "$STAMPS/$1.version"
}
builddir() {
echo "$BUILDS/$1"
}
srcdir() {
echo "$SOURCES/$1"
}
check_version() {
project="$1"
ID="$2"
VERSION=$(libcamera_version "$project")
last_build=$(buildstamp_filename $ID)
export VERSION
export last_build
## Only rebuild on version change
touch "$last_build"
PREV_VERSION=$(cat "$last_build")
if [[ x"$PREV_VERSION" == x"$VERSION" ]] ; then
project=$(realpath --relative-to=. "$project")
echo "$ID: $project has no version change, no actions."
exit
fi
}
failure_report() {
echo "Subject: $0: $1 has failed"
echo ""
echo "$1 has failed"
echo " --- 8< --- "
cat $2
echo " --- >8 --- "
}
SENDMAIL=$(which sendmail)
notify_failures() {
if [ x"$SENDMAIL" == x"" ];
then
echo "No mail client to notify failures..."
return
fi
failure_report "$1" "$2" | sendmail kieran.bingham@ideasonboard.com
}
pass_fail() {
if [ "$1" -ne 0 ]; then
echo " $2: *** Failed ***"
if [ -e $logfile ]; then
tail -n 100 $logfile;
fi
notify_failures "$2" "$logfile"
exit "$1"
else
echo " $2: Passed"
fi
return "$1"
}
completed() {
echo "$VERSION" > "$last_build"
}
|