summaryrefslogtreecommitdiff
path: root/scripts/command/docker_run_test.sh
blob: 75edd342828cdf5ffb4188ff46fa3af92ca3e1ba (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
#!/bin/bash

# default DOCKER_IMAGE_NAME=nnfw_docker
DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-nnfw_docker}
echo "Using docker image $DOCKER_IMAGE_NAME"

if [ -z "`docker images | grep $DOCKER_IMAGE_NAME`" ]; then
    echo "Need docker image!"
    exit 1
fi

HOST_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"

DOCKER_PATH=/home/npuci/nnfw

export GIT_SSL_NO_VERIFY=1

DOCKER_VOLUMES=" -v /dev/null:/dev/raw1394"
DOCKER_VOLUMES+=" -v $HOST_PATH:$DOCKER_PATH"

DOCKER_ENV_VARS+=" -e http_proxy"
DOCKER_ENV_VARS+=" -e no_proxy"
DOCKER_ENV_VARS+=" -e GIT_SSL_NO_VERIFY"

DOCKER_RUN_OPTS="--rm"
DOCKER_RUN_OPTS+=" -w $DOCKER_PATH"

CMD="make install"

if [ "$DOCKER_INTERACTIVE" ]; then
    DOCKER_RUN_OPTS+=" -it"
    CMD="/bin/bash"
fi

docker run $DOCKER_RUN_OPTS $DOCKER_ENV_VARS $DOCKER_VOLUMES $DOCKER_IMAGE_NAME $CMD

BUILD_RESULT=$?

# Newly created files during above docker run can have different ownership.
# This may cause some problems, for example, some jenkins slaves or developers
# can't remove built files due to lack of permission.
# To address this issue, let's change owner of all files
# in NPU_Compiler to owner of NPU_Compiler.
NPU_COMPILER_OWNER_UID=$(stat -c "%u" $HOST_PATH)
NPU_COMPILER_OWNER_GID=$(stat -c "%g" $HOST_PATH)

CMD="chown -R $NPU_COMPILER_OWNER_UID:$NPU_COMPILER_OWNER_GID $DOCKER_PATH"
docker run $DOCKER_RUN_OPTS $DOCKER_ENV_VARS $DOCKER_VOLUMES $DOCKER_IMAGE_NAME $CMD

exit $BUILD_RESULT