blob: efea8b39b66c5e09d9837e86fe1e8e5fcd05b5a6 (
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
|
#!/bin/bash -
PROJECT=libguestfs
FEBOOTSTRAP_PATH=$HOME/d/febootstrap
MAILTO=libguestfs@redhat.com
HOSTNAME="$(hostname -s)"
#----------------------------------------------------------------------
# Helper functions.
failed ()
{
mail -s "$HOSTNAME $PROJECT FAILED $1 $gitsha" $MAILTO < local-log
}
ok ()
{
mail -s "$HOSTNAME $PROJECT success $gitsha" $MAILTO < local-log
}
#----------------------------------------------------------------------
set -e
set -x
# Make sure we build and test against latest febootstrap.
PATH=$FEBOOTSTRAP_PATH:$FEBOOTSTRAP_PATH/helper:$PATH
# Remove any old cache directories.
rm -rf /tmp/guestfs.* ||:
rm -f local-log
cat > local-log <<EOF
This is an automatic message generated by the builder on
$HOSTNAME for $PROJECT. Log files from the build
follow below.
$(uname -a)
$(date)
-----
EOF
exec >> local-log 2>&1
# Pull from the public repo so that we don't need ssh-agent.
git pull --rebase git://git.annexia.org/git/libguestfs.git master
git clean -d -f
# The git version we are building.
gitsha=$(git log|head -1|awk '{print $2}')
# Do the configure step.
./bootstrap ||:
./autogen.sh --enable-gcc-warnings || {
failed "configure step"
exit 1
}
# Do the build step.
make || {
failed "build step"
exit 1
}
# Tests that are skipped (note that these tests should be fixed).
case "$HOSTNAME" in
builder-ubuntu)
# get_e2uuid: /dev/vdc: [no error message]
# get_e2label: /dev/vda1: [no error message]
# Diagnosis: either mkjournal is not writing a UUID or blkid is
# unable to pick it up.
export SKIP_TEST_GET_E2UUID=1
export SKIP_TEST_SET_E2UUID=1
export SKIP_TEST_SET_E2LABEL=1
# Avoids:
# device-mapper: ioctl: unable to remove open device temporary-cryptsetup-661
# device-mapper: remove ioctl failed: Device or resource busy
# guestfsd: error: Device lukstest is busy.
# Diagnosis: appears to be a bug in cryptsetup on Ubuntu.
# https://bugzilla.redhat.com/show_bug.cgi?id=527056
export SKIP_TEST_LUKS_SH=1
;;
esac
# Run the tests.
make check || {
failed "tests"
exit 1
}
ok
|