mirror of
https://bitbucket.org/atlassian/dc-deployments-automation.git
synced 2025-12-14 08:53:07 -06:00
DCD-621: Changes pipelines to run scenarios in parallel. (9 batches of 3 scenarios each)
This commit is contained in:
50
bin/run-tests-in-batches
Executable file
50
bin/run-tests-in-batches
Executable 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
|
||||||
@@ -12,9 +12,80 @@ definitions:
|
|||||||
pipelines:
|
pipelines:
|
||||||
default:
|
default:
|
||||||
- step:
|
- step:
|
||||||
|
name: Pre Parallelization stage
|
||||||
|
script:
|
||||||
|
- echo "Running tests in 9 batches of 3 scenarios (max) each"
|
||||||
|
- parallel:
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 1
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
script:
|
script:
|
||||||
- apt-get update && apt-get install -y virtualenv python-dev
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
- ./bin/install-ansible
|
- ./bin/install-ansible
|
||||||
- ./bin/run-all-tests
|
- ./bin/run-all-tests --batch 1
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 2
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
|
- ./bin/install-ansible
|
||||||
|
- ./bin/run-all-tests --batch 2
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 3
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
|
- ./bin/install-ansible
|
||||||
|
- ./bin/run-all-tests --batch 3
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 4
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
|
- ./bin/install-ansible
|
||||||
|
- ./bin/run-all-tests --batch 4
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 5
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
|
- ./bin/install-ansible
|
||||||
|
- ./bin/run-all-tests --batch 5
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 6
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
|
- ./bin/install-ansible
|
||||||
|
- ./bin/run-all-tests --batch 6
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 7
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
|
- ./bin/install-ansible
|
||||||
|
- ./bin/run-all-tests --batch 7
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 8
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
|
- ./bin/install-ansible
|
||||||
|
- ./bin/run-all-tests --batch 8
|
||||||
|
- step:
|
||||||
|
name: Molecule test batch 9
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- apt-get update && apt-get install -y virtualenv python-dev
|
||||||
|
- ./bin/install-ansible
|
||||||
|
- ./bin/run-all-tests --batch 9
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user