Update Shippable integration test groups. (#43118)

* Update Shippable integration test groups.
* Update integration test group aliases.
* Rebalance AWS and Azure tests with extra group.
* Rebalance Windows tests with another group.
This commit is contained in:
Matt Clay 2018-07-23 20:46:22 -07:00 committed by GitHub
commit 4e489d1be8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
442 changed files with 606 additions and 495 deletions

1
test/utils/shippable/aws.sh Symbolic link
View file

@ -0,0 +1 @@
cloud.sh

View file

@ -0,0 +1 @@
cloud.sh

View file

@ -5,13 +5,28 @@ set -o pipefail
declare -a args
IFS='/:' read -ra args <<< "$1"
image="${args[1]}"
python="${args[2]}"
target="posix/ci/cloud/group${args[3]}/"
cloud="${args[0]}"
python="${args[1]}"
group="${args[2]}"
target="shippable/${cloud}/group${group}/"
stage="${S:-prod}"
if [ "${group}" == "1" ]; then
# only run smoketest tests for group1
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
else
# smoketest tests already covered by group1
changed_all_target="none"
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 "${image}" --python "${python}" --changed-all-target "${target}smoketest/"
--docker --python "${python}" --changed-all-target "${changed_all_target}"

1
test/utils/shippable/cs.sh Symbolic link
View file

@ -0,0 +1 @@
cloud.sh

View file

@ -9,9 +9,9 @@ platform="${args[0]}"
version="${args[1]}"
if [ "${#args[@]}" -gt 2 ]; then
target="posix/ci/group${args[2]}/"
target="shippable/posix/group${args[2]}/"
else
target="posix/ci/"
target="shippable/posix/"
fi
stage="${S:-prod}"
@ -19,5 +19,4 @@ provider="${P:-default}"
# shellcheck disable=SC2086
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--exclude "posix/ci/cloud/" \
--remote "${platform}/${version}" --remote-terminate always --remote-stage "${stage}" --remote-provider "${provider}"

View file

@ -8,12 +8,11 @@ IFS='/:' read -ra args <<< "$1"
image="${args[1]}"
if [ "${#args[@]}" -gt 2 ]; then
target="posix/ci/group${args[2]}/"
target="shippable/posix/group${args[2]}/"
else
target="posix/ci/"
target="shippable/posix/"
fi
# shellcheck disable=SC2086
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--exclude "posix/ci/cloud/" \
--docker "${image}"

View file

@ -11,7 +11,7 @@ if [ "${COVERAGE}" ]; then
echo "coverage" > /tmp/network.txt
fi
target="network/ci/"
target="shippable/network/"
stage="${S:-prod}"
provider="${P:-default}"

View file

@ -9,9 +9,9 @@ platform="${args[0]}"
version="${args[1]}"
if [ "${#args[@]}" -gt 2 ]; then
target="posix/ci/group${args[2]}/"
target="shippable/posix/group${args[2]}/"
else
target="posix/ci/"
target="shippable/posix/"
fi
stage="${S:-prod}"
@ -19,5 +19,4 @@ provider="${P:-default}"
# shellcheck disable=SC2086
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--exclude "posix/ci/cloud/" \
--remote "${platform}/${version}" --remote-terminate always --remote-stage "${stage}" --remote-provider "${provider}"

View file

@ -9,9 +9,9 @@ platform="${args[0]}"
version="${args[1]}"
if [ "${#args[@]}" -gt 2 ]; then
target="posix/ci/group${args[2]}/"
target="shippable/posix/group${args[2]}/"
else
target="posix/ci/"
target="shippable/posix/"
fi
stage="${S:-prod}"
@ -19,5 +19,4 @@ provider="${P:-default}"
# shellcheck disable=SC2086
ansible-test integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
--exclude "posix/ci/cloud/" \
--remote "${platform}/${version}" --remote-terminate always --remote-stage "${stage}" --remote-provider "${provider}"

View file

@ -0,0 +1 @@
cloud.sh

View file

@ -0,0 +1 @@
cloud.sh

View file

@ -6,7 +6,9 @@ declare -a args
IFS='/:' read -ra args <<< "$1"
version="${args[1]}"
target="windows/ci/group${args[2]}/"
group="${args[2]}"
target="shippable/windows/group${group}/"
stage="${S:-prod}"
provider="${P:-default}"
@ -59,9 +61,9 @@ for version in "${python_versions[@]}"; do
# with change detection enabled run tests for anything changed
# use the smoketest tests for any change that triggers all tests
ci="${target}"
if [ "${target}" == "windows/ci/group1/" ]; then
if [ "${target}" == "shippable/windows/group1/" ]; then
# only run smoketest tests for group1
changed_all_target="windows/ci/smoketest/"
changed_all_target="shippable/windows/smoketest/"
else
# smoketest tests already covered by group1
changed_all_target="none"
@ -72,9 +74,9 @@ for version in "${python_versions[@]}"; do
fi
else
# only run minimal tests for group1
if [ "${target}" != "windows/ci/group1/" ]; then continue; fi
if [ "${target}" != "shippable/windows/group1/" ]; then continue; fi
# minimal tests for other python versions
ci="windows/ci/minimal/"
ci="shippable/windows/minimal/"
fi
# terminate remote instances on the final python version tested