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

# Don't run this script
[[ "${BASH_SOURCE[0]}" == "${0}" ]] && echo "Please don't execute ${BASH_SOURCE[0]}" && exit 1

DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-nnfw/nnas}
echo "Using docker image ${DOCKER_IMAGE_NAME}"

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

HOST_PATH="${NNAS_PROJECT_PATH}"
DOCKER_PATH="${NNAS_PROJECT_PATH}"

export GIT_SSL_NO_VERIFY=1

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

if [[ ! -z "${ENV_FILE}" ]]; then
  if [[ -e ${ENV_FILE} ]]; then
    DOCKER_ENV_VARS+=" --env-file ${ENV_FILE} "
  else
    echo "[WARNING] Cannot find docker environment variable list file: ${ENV_FILE}"
  fi
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 NNAS_WORKSPACE"
DOCKER_ENV_VARS+=" -e NNCC_WORKSPACE"
DOCKER_ENV_VARS+=" -e NNFW_WORKSPACE"

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}
}