Merge "Adding script for autocollection of docker images"
[oom/offline-installer.git] / ansible / test / bin / ci-molecule.sh
1 #! /usr/bin/env bash
2
3 #   COPYRIGHT NOTICE STARTS HERE
4
5 #   Copyright 2019 © Samsung Electronics Co., Ltd.
6 #
7 #   Licensed under the Apache License, Version 2.0 (the "License");
8 #   you may not use this file except in compliance with the License.
9 #   You may obtain a copy of the License at
10 #
11 #       http://www.apache.org/licenses/LICENSE-2.0
12 #
13 #   Unless required by applicable law or agreed to in writing, software
14 #   distributed under the License is distributed on an "AS IS" BASIS,
15 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 #   See the License for the specific language governing permissions and
17 #   limitations under the License.
18
19 #   COPYRIGHT NOTICE ENDS HERE
20
21 #
22 # This is a main wrapper script to run Molecule tests
23 # Main usage is for the CI usage to keep interface stable and the way to call
24 # Molecule can be adjusted in this script independently.
25 #
26
27 set -e
28
29 SCRIPT_DIR=$(dirname "${0}")
30 LOCAL_PATH=$(readlink -f "$SCRIPT_DIR")
31
32 ROLE_PATH=$1
33 MOLECULE_CONTAINER=${MOLECULE_CONTAINER:-false}
34
35 echo "Build all pre-build images"
36 ${LOCAL_PATH}/../images/docker/build-all.sh
37
38 # Use Molecule container
39 if [ "${MOLECULE_CONTAINER}" == "true" ]; then
40     echo "Build Molecule-dev docker container"
41     ${LOCAL_PATH}/../molecule-docker/build.sh
42     MOLECULE_BINARY=${LOCAL_PATH}/../bin/molecule.sh
43
44 else # Install Molecule natively in the target platform
45     echo "Install Molecule with virtualenv"
46     source ${LOCAL_PATH}/../bin/install-molecule.sh
47     MOLECULE_BINARY=molecule
48 fi
49
50 cd ${ROLE_PATH}
51 ${MOLECULE_BINARY} --version
52 ${MOLECULE_BINARY} test --all
53 cd -
54