summaryrefslogtreecommitdiff
path: root/scripts/config/docker.configuration
blob: 806ffb32e055e2c24927317dd18e092fa1b4f461 (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
#!/bin/bash

source "$NNFW_SCRIPT_PATH/config/image_name.configuration"

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="$NNFW_PROJECT_PATH"
DOCKER_PATH="$NNFW_PROJECT_PATH"

export GIT_SSL_NO_VERIFY=1

DOCKER_VOLUMES+=" -v $HOST_PATH:$DOCKER_PATH"

if [[ ! -z $ENV_FILE ]]; then
  DOCKER_ENV_VARS+=" --env-file ${ENV_FILE} "
fi

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

DOCKER_RUN_OPTS="${DOCKER_OPTS}"
DOCKER_RUN_OPTS+=" --rm"
DOCKER_RUN_OPTS+=" -w $DOCKER_PATH"

function docker_cleanup()
{
  # Newly created files during during 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 nncc to owner of nncc.
  NNFW_OWNER_UID=$(stat -c "%u" $HOST_PATH)
  NNFW_OWNER_GID=$(stat -c "%g" $HOST_PATH)

  CMD="chown -R $NNFW_OWNER_UID:$NNFW_OWNER_GID $DOCKER_PATH"
  docker run $DOCKER_RUN_OPTS $DOCKER_ENV_VARS $DOCKER_VOLUMES $DOCKER_IMAGE_NAME $CMD
}