Merge "[infra] Bind mas01 mcpcontrol DHCP to MAAS_IP"
[fuel.git] / ci / build.sh
index 9bca187..f15c529 100755 (executable)
@@ -31,10 +31,13 @@ MCP_REPO_ROOT_PATH=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")/..")
 DEPLOY_DIR=$(cd "${MCP_REPO_ROOT_PATH}/mcp/scripts"; pwd)
 DOCKER_DIR=$(cd "${MCP_REPO_ROOT_PATH}/docker"; pwd)
 DOCKER_TAG=${1:-latest}
+DOCKER_PUSH=${2---push}  # pass an empty second arg to disable push
 
 source "${DEPLOY_DIR}/globals.sh"
 source "${DEPLOY_DIR}/lib.sh"
 
+[ ! "${TERM:-unknown}" = 'unknown' ] || export TERM=vt220
+
 #
 # END of variables to customize
 ##############################################################################
@@ -52,25 +55,32 @@ umask 0000
 # Clone git submodules and apply our patches
 make -C "${MCP_REPO_ROOT_PATH}/mcp/patches" deepclean patches-import
 
-pushd "${DOCKER_DIR}" > /dev/null
+pushd "${DEPLOY_DIR}" > /dev/null
 
 # Install distro packages and pip-managed prerequisites
+PYTHON_BIN_PATH="$(python -m site --user-base)/bin"
+PATH="$PATH:$PYTHON_BIN_PATH"
 notify "[NOTE] Installing required build-time distro and pip pkgs" 2
 jumpserver_pkg_install 'build'
 pip install pipenv --user
 docker_install
 
+popd > /dev/null
+pushd "${DOCKER_DIR}" > /dev/null
+
 pipenv --two
 pipenv install
-pipenv shell \
-  "invoke build saltmaster-reclass \
-    --require 'salt salt-formulas reclass tini-saltmaster' \
+pipenv install invoke
+# shellcheck disable=SC2086
+pipenv run \
+  invoke build saltmaster-reclass \
+    --require 'salt salt-formulas opnfv reclass tini-saltmaster' \
     --dist=ubuntu \
     --dist-rel=xenial \
     --formula-rev=nightly \
-    --opnfv-tag='${DOCKER_TAG}' \
-    --salt='stable 2017.7'; \
-  exit"
+    --opnfv-tag="${DOCKER_TAG}" \
+    --salt='stable 2017.7' \
+    ${DOCKER_PUSH}
 
 popd > /dev/null