summaryrefslogtreecommitdiff
path: root/test/utils/shippable/cloud.sh
blob: da037e09e1c861f30e0114a39d3f60a8757c9f4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env bash

set -o pipefail -eux

declare -a args
IFS='/:' read -ra args <<< "$1"

cloud="${args[0]}"
python="${args[1]}"
group="${args[2]}"

target="shippable/${cloud}/group${group}/"

stage="${S:-prod}"

changed_all_target="shippable/${cloud}/smoketest/"

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

if [ "${group}" == "1" ]; then
    # only run smoketest tests for group1
    changed_all_mode="include"
else
    # smoketest tests already covered by group1
    changed_all_mode="exclude"
fi

# shellcheck disable=SC2086
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
    --remote-terminate always --remote-stage "${stage}" \
    --docker --python "${python}" --changed-all-target "${changed_all_target}" --changed-all-mode "${changed_all_mode}"