summaryrefslogtreecommitdiff
path: root/test/utils/shippable/docs.sh
blob: 2858f87c997a7cc31b43ae0f079a2b69e4871e87 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash -eux

set -o pipefail

ansible_repo_url="https://github.com/ansible/ansible.git"

build_dir="${SHIPPABLE_BUILD_DIR}"
repo="${REPO_NAME}"

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 lib/ansible/modules/${this_module_group}/test/utils/shippable/docs-requirements.txt --upgrade
pip list

source hacking/env-setup

docs_status=0

PAGER=/bin/cat \
    ANSIBLE_DEPRECATION_WARNINGS=false \
    bin/ansible-doc -l \
    2>/tmp/ansible-doc.err || docs_status=$?

if [ -s /tmp/ansible-doc.err ]; then
    # report warnings as errors
    echo "Output from 'ansible-doc -l' on stderr is considered an error:"
    cat /tmp/ansible-doc.err
    exit 1
fi

if [ "${docs_status}" -ne 0 ]; then
    echo "Running 'ansible-doc -l' failed with no output on stderr and exit code: ${docs_status}"
    exit 1
fi