DCD-621: Changes pipelines to run scenarios in parallel. (9 batches of 3 scenarios each)

This commit is contained in:
Varun Arbatti
2019-08-29 16:12:14 +10:00
parent 856e60abe6
commit 8cf01382af
2 changed files with 126 additions and 5 deletions

50
bin/run-tests-in-batches Executable file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
set -e
#set -x
# Install dev packages from Pipfile.lock if necessary.
#pipenv sync --dev
BATCH_NUMBER=""
batch_args="$1"
case $batch_args in
-b|--batch)
BATCH_NUMBER="$2"
;;
--default)
BATCH_NUMBER=""
;;
esac
if [[ -z "$BATCH_NUMBER" ]]; then
echo "Batch number not passed in. Please pass a batch number to run tests."
exit -1
fi
case ${BATCH_NUMBER} in
''|*[1-9]*) ;;
*) echo "Bad Input for Batch number. ${BATCH_NUMBER} is not a valid batch number (Should be a number >= 1)" && exit -1 ;;
esac
scenarios=( $(ls -d1 roles/**/molecule/* | sort) )
offset=$(( ${BATCH_NUMBER} - 1))
test_start_index=$(( ${offset} * 3 ))
for scenario in "${scenarios[@]:$test_start_index:3}"; do
pushd $(dirname $(dirname $scenario))
pipenv run \
molecule test --all
popd
done;
#for role in `find roles/ -name molecule | sort`; do
# pushd `dirname $role`
# pipenv run \
# molecule test --all
# popd
#done