mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.8 KiB
Bash
63 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -o pipefail -eux
|
|
|
|
declare -a args
|
|
IFS='/:' read -ra args <<< "$1"
|
|
|
|
script="${args[0]}"
|
|
|
|
test="$1"
|
|
|
|
docker images
|
|
docker ps
|
|
|
|
for container in $(docker ps --format '{{.Image}} {{.ID}}' | grep -v -e '^quay.io/ansible/azure-pipelines-test-container:' | sed 's/^.* //'); do
|
|
docker rm -f "${container}" || true # ignore errors
|
|
done
|
|
|
|
docker ps
|
|
|
|
export PATH="${PWD}/bin:${PATH}"
|
|
export PYTHONIOENCODING='utf-8'
|
|
|
|
if [ -n "${COVERAGE:-}" ]; then
|
|
# on-demand coverage reporting triggered by setting the COVERAGE environment variable to a non-empty value
|
|
export COVERAGE="--coverage"
|
|
elif [[ "${COMMIT_MESSAGE}" =~ ci_coverage ]]; then
|
|
# on-demand coverage reporting triggered by having 'ci_coverage' in the latest commit message
|
|
export COVERAGE="--coverage"
|
|
else
|
|
# on-demand coverage reporting disabled (default behavior, always-on coverage reporting remains enabled)
|
|
export COVERAGE="--coverage-check"
|
|
fi
|
|
|
|
if [ -n "${COMPLETE:-}" ]; then
|
|
# disable change detection triggered by setting the COMPLETE environment variable to a non-empty value
|
|
export CHANGED=""
|
|
elif [[ "${COMMIT_MESSAGE}" =~ ci_complete ]]; then
|
|
# disable change detection triggered by having 'ci_complete' in the latest commit message
|
|
export CHANGED=""
|
|
else
|
|
# enable change detection (default behavior)
|
|
export CHANGED="--changed"
|
|
fi
|
|
|
|
if [ "${IS_PULL_REQUEST:-}" == "true" ]; then
|
|
# run unstable tests which are targeted by focused changes on PRs
|
|
export UNSTABLE="--allow-unstable-changed"
|
|
else
|
|
# do not run unstable tests outside PRs
|
|
export UNSTABLE=""
|
|
fi
|
|
|
|
if [[ "${COVERAGE:-}" == "--coverage" ]]; then
|
|
timeout=60
|
|
else
|
|
timeout=50
|
|
fi
|
|
|
|
ansible-test env --dump --show --timeout "${timeout}" --color -v
|
|
|
|
".azure-pipelines/commands/${script}.sh" "${test}"
|