2018-10-16 08:52:14 +00:00
|
|
|
docker_image_exists() {
|
|
|
|
test -n "$(docker images -q "$REPO_USER/$1")"
|
|
|
|
}
|
|
|
|
|
|
|
|
docker_images_require() {
|
|
|
|
for i in $@; do
|
|
|
|
# Trigger image build (cache will be used when up-to-date)
|
|
|
|
if [ -z "$NO_DOCKER_IMAGE_BUILD" ]; then
|
|
|
|
echo "Building image: $i (export NO_DOCKER_IMAGE_BUILD=1 to prevent this)"
|
2019-01-24 15:04:03 +00:00
|
|
|
make -C "../$i" || exit 1
|
2018-10-16 08:52:14 +00:00
|
|
|
fi
|
|
|
|
|
2019-01-24 15:04:03 +00:00
|
|
|
# Detect missing images (build skipped)
|
2018-10-16 08:52:14 +00:00
|
|
|
if ! docker_image_exists "$i"; then
|
|
|
|
echo "ERROR: missing image: $i"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
2018-02-06 20:20:19 +00:00
|
|
|
|
|
|
|
network_create() {
|
|
|
|
NET=$1
|
|
|
|
echo Creating network $NET_NAME
|
|
|
|
docker network create --internal --subnet $NET $NET_NAME
|
|
|
|
}
|
|
|
|
|
|
|
|
network_remove() {
|
|
|
|
echo Removing network $NET_NAME
|
|
|
|
docker network remove $NET_NAME
|
|
|
|
}
|
|
|
|
|
2018-04-09 13:28:25 +00:00
|
|
|
collect_logs() {
|
2018-04-09 13:46:57 +00:00
|
|
|
cat "$VOL_BASE_DIR"/*/junit-*.log || true
|
2018-04-09 13:28:25 +00:00
|
|
|
}
|
2018-02-06 20:20:19 +00:00
|
|
|
|
|
|
|
set -x
|
|
|
|
|
|
|
|
# non-jenkins execution: assume local user name
|
|
|
|
if [ "x$REPO_USER" = "x" ]; then
|
|
|
|
REPO_USER=$USER
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "x$WORKSPACE" = "x" ]; then
|
2018-04-09 13:46:57 +00:00
|
|
|
# non-jenkins execution: put logs in /tmp
|
|
|
|
VOL_BASE_DIR="$(mktemp -d)"
|
|
|
|
|
|
|
|
# point /tmp/logs to the last ttcn3 run
|
|
|
|
rm /tmp/logs || true
|
|
|
|
ln -s "$VOL_BASE_DIR" /tmp/logs || true
|
|
|
|
else
|
|
|
|
# jenkins execution: put logs in workspace
|
|
|
|
VOL_BASE_DIR="$WORKSPACE/logs"
|
|
|
|
rm -rf "$VOL_BASE_DIR"
|
|
|
|
mkdir -p "$VOL_BASE_DIR"
|
2018-02-06 20:20:19 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
# non-jenkins execution: put logs in /tmp
|
|
|
|
if [ "x$BUILD_TAG" = "x" ]; then
|
|
|
|
BUILD_TAG=nonjenkins
|
|
|
|
fi
|
|
|
|
|
|
|
|
SUITE_NAME=`basename $PWD`
|
|
|
|
|
|
|
|
NET_NAME=$SUITE_NAME
|