2016-07-08 17:28:30 +02:00
|
|
|
#!/bin/bash -eux
|
|
|
|
|
|
|
|
set -o pipefail
|
|
|
|
|
|
|
|
ansible_repo_url="https://github.com/ansible/ansible.git"
|
|
|
|
|
|
|
|
is_pr="${IS_PULL_REQUEST}"
|
|
|
|
build_dir="${SHIPPABLE_BUILD_DIR}"
|
|
|
|
repo="${REPO_NAME}"
|
|
|
|
|
|
|
|
if [ "${is_pr}" != "true" ]; then
|
|
|
|
echo "Module integration tests are only supported on pull requests."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
case "${repo}" in
|
|
|
|
"ansible-modules-core")
|
|
|
|
this_module_group="core"
|
|
|
|
other_module_group="extras"
|
|
|
|
;;
|
|
|
|
"ansible-modules-extras")
|
|
|
|
this_module_group="extras"
|
|
|
|
other_module_group="core"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unsupported repo name: ${repo}"
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
modules_tmp_dir="${build_dir}.tmp"
|
|
|
|
this_modules_dir="${build_dir}/lib/ansible/modules/${this_module_group}"
|
|
|
|
other_modules_dir="${build_dir}/lib/ansible/modules/${other_module_group}"
|
|
|
|
|
|
|
|
cd /
|
|
|
|
mv "${build_dir}" "${modules_tmp_dir}"
|
|
|
|
git clone "${ansible_repo_url}" "${build_dir}"
|
|
|
|
cd "${build_dir}"
|
|
|
|
rmdir "${this_modules_dir}"
|
|
|
|
mv "${modules_tmp_dir}" "${this_modules_dir}"
|
|
|
|
mv "${this_modules_dir}/shippable" "${build_dir}"
|
|
|
|
git submodule init "${other_modules_dir}"
|
|
|
|
git submodule sync "${other_modules_dir}"
|
|
|
|
git submodule update "${other_modules_dir}"
|
|
|
|
|
|
|
|
pip install -r test/utils/shippable/modules/generate-tests-requirements.txt --upgrade
|
|
|
|
pip list
|
|
|
|
|
|
|
|
source hacking/env-setup
|
|
|
|
|
2016-08-12 01:04:37 +02:00
|
|
|
test/utils/shippable/modules/generate-tests "${this_module_group}" --verbose --output /tmp/integration.sh >/dev/null
|
|
|
|
|
|
|
|
if [ -f /tmp/integration.sh ]; then
|
|
|
|
/bin/bash -eux /tmp/integration.sh
|
|
|
|
fi
|