2019-02-18 22:41:45 +01:00
|
|
|
#!/usr/bin/env bash
|
2017-05-03 02:24:05 +02:00
|
|
|
|
2019-02-18 22:41:45 +01:00
|
|
|
set -o pipefail -eux
|
2017-05-03 02:24:05 +02:00
|
|
|
|
|
|
|
declare -a args
|
2017-10-03 21:43:46 +02:00
|
|
|
IFS='/:' read -ra args <<< "$1"
|
2017-05-03 02:24:05 +02:00
|
|
|
|
2018-07-24 05:46:22 +02:00
|
|
|
cloud="${args[0]}"
|
|
|
|
python="${args[1]}"
|
|
|
|
group="${args[2]}"
|
|
|
|
|
|
|
|
target="shippable/${cloud}/group${group}/"
|
2017-05-03 02:24:05 +02:00
|
|
|
|
2018-03-10 01:17:29 +01:00
|
|
|
stage="${S:-prod}"
|
|
|
|
|
2018-10-02 21:26:14 +02:00
|
|
|
changed_all_target="shippable/${cloud}/smoketest/"
|
|
|
|
|
2018-07-24 05:46:22 +02:00
|
|
|
if [ "${group}" == "1" ]; then
|
|
|
|
# only run smoketest tests for group1
|
2018-10-02 21:26:14 +02:00
|
|
|
changed_all_mode="include"
|
2018-07-24 05:46:22 +02:00
|
|
|
|
|
|
|
if ! ansible-test integration "${changed_all_target}" --list-targets > /dev/null 2>&1; then
|
|
|
|
# no smoketest tests are available for this cloud
|
|
|
|
changed_all_target="none"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
# smoketest tests already covered by group1
|
2018-10-02 21:26:14 +02:00
|
|
|
changed_all_mode="exclude"
|
2018-07-24 05:46:22 +02:00
|
|
|
fi
|
|
|
|
|
2017-05-13 19:08:42 +02:00
|
|
|
# shellcheck disable=SC2086
|
2018-04-13 01:15:28 +02:00
|
|
|
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
|
2018-03-10 01:17:29 +01:00
|
|
|
--remote-terminate always --remote-stage "${stage}" \
|
2018-10-02 21:26:14 +02:00
|
|
|
--docker --python "${python}" --changed-all-target "${changed_all_target}" --changed-all-mode "${changed_all_mode}"
|