summaryrefslogtreecommitdiff
path: root/docker-run.sh
blob: 92820ef5ec4591ee5ca6abfc51419c337ed4cc96 (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
#!/bin/bash

set -euf -o pipefail

. $(dirname $0)/jenkins-helpers.sh
convert_args_to_variables "$@"
shift "$SHIFT_CONVERTED_ARGS"

qemu="${qemu-}"
WORKSPACE="${WORKSPACE-}"

case "$qemu" in
    "") $(dirname $0)/start-container-docker.sh "${CONVERTED_ARGS[@]:1}" > container.sh ;;
    *) $(dirname $0)/start-container-qemu.sh "${CONVERTED_ARGS[@]:1}" > container.sh ;;
esac

trap "container_cleanup" EXIT
. ./container.sh

# We want to use flock only when WORKSPACE exists
if [ "x$WORKSPACE" != "x" ]; then
    if [ ! -d "$WORKSPACE" ]; then
	echo "ERROR: WORKSPACE $WORKSPACE does not exist"
	exit 1
    fi
    JENKINS_FLOCK="flock $WORKSPACE"
else
    JENKINS_FLOCK=""
fi

container_exec "$@"