7b3f0b8870
Triggered by setting the COVERAGE environment var to a non-empty value. Alternatively the string `ci_coverage` can be added to a commit message.
50 lines
1.2 KiB
Bash
Executable file
50 lines
1.2 KiB
Bash
Executable file
#!/bin/bash -eux
|
|
|
|
set -o pipefail
|
|
|
|
declare -a args
|
|
IFS='/:' read -ra args <<< "${TEST}"
|
|
|
|
script="${args[0]}"
|
|
|
|
docker images ansible/ansible
|
|
docker ps
|
|
|
|
if [ -d /home/shippable/cache/ ]; then
|
|
ls -la /home/shippable/cache/
|
|
fi
|
|
|
|
which python
|
|
python -V
|
|
|
|
which pip
|
|
pip --version
|
|
pip list --disable-pip-version-check
|
|
|
|
export PATH="test/runner:${PATH}"
|
|
export PYTHONIOENCODING='utf-8'
|
|
export COVERAGE="${COVERAGE:-}"
|
|
|
|
# run integration coverage if 'ci_coverage' is in the commit message or the COVERAGE var is non-empty
|
|
if [[ "${COMMIT_MESSAGE}" =~ ci_coverage ]] || [ -n "${COVERAGE}" ]; then
|
|
export COVERAGE="--coverage"
|
|
fi
|
|
|
|
# remove empty core/extras module directories from PRs created prior to the repo-merge
|
|
find lib/ansible/modules -type d -empty -print -delete
|
|
|
|
function cleanup
|
|
{
|
|
if find test/results/coverage/ -mindepth 1 -name '.*' -prune -o -print -quit | grep -q .; then
|
|
ansible-test coverage xml --color -v --requirements
|
|
cp -a test/results/reports/coverage.xml shippable/codecoverage/coverage.xml
|
|
fi
|
|
|
|
rmdir shippable/testresults/
|
|
cp -a test/results/junit/ shippable/testresults/
|
|
cp -aT test/results/bot/ shippable/testresults/
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
"test/utils/shippable/${script}.sh"
|