| #! /usr/bin/env bash |
| |
| # COPYRIGHT NOTICE STARTS HERE |
| |
| # Copyright 2019 © Samsung Electronics Co., Ltd. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # COPYRIGHT NOTICE ENDS HERE |
| |
| SCRIPT_DIR=$(dirname "${0}") |
| LOCAL_PATH=$(readlink -f "$SCRIPT_DIR") |
| # main root dir in this git repo (relative to this script location) |
| ROOT_DIR=$(cd ${LOCAL_PATH}/../../../ && pwd)/ |
| PROJECT_ROOT_IN_CONTAINER=${PWD##${ROOT_DIR}} |
| # Make dir structure same in container to make localhost ssh actions to match same dirs |
| CONTAINER_ROOT=${ROOT_DIR} |
| |
| if [ "${PWD}" == "${PROJECT_ROOT_IN_CONTAINER}" ]; then |
| echo "Please run it under subdir of ${ROOT_DIR} directory" |
| exit 1 |
| fi |
| |
| env_params=(--env LOCALHOST_ANSIBLE_HOST=$(hostname -I | cut -f 1 -d ' ')) |
| env_params+=(--env LOCALHOST_ANSIBLE_USER=$(id -nu)) |
| |
| if [ -e "${LOCAL_PATH}/.env" ]; then |
| env_file="--env-file ${LOCAL_PATH}/.env" |
| fi |
| |
| MOLECULE_IMAGE=${MOLECULE_IMAGE:-molecule-dev} |
| MOLECULE_IMAGE_VERSION=${MOLECULE_IMAGE_VERSION:-2.20.0} |
| echo "Running molecule image: ${MOLECULE_IMAGE}:${MOLECULE_IMAGE_VERSION}" |
| MOLECULE_CMD=${MOLECULE_CMD:-molecule} |
| docker run --rm \ |
| -v /var/run/docker.sock:/var/run/docker.sock \ |
| -v ${ROOT_DIR}:${CONTAINER_ROOT}:rw \ |
| -w ${CONTAINER_ROOT}/${PROJECT_ROOT_IN_CONTAINER} \ |
| "${env_params[@]}" \ |
| ${env_file} \ |
| --name ${MOLECULE_IMAGE} \ |
| ${MOLECULE_IMAGE}:${MOLECULE_IMAGE_VERSION} \ |
| ${MOLECULE_CMD} "$@" |
| |