#!/usr/bin/env bash set -e case $1 in -h|--help) echo "--help, -h show this help message and exit" echo "--loglevel=LEVEL, -L LEVEL log level (default: ERROR)" exit 0 ;; -L|--loglevel) loglevel="$1 $2" ;; esac cd "$(dirname "$0")"/../docs rm -rf _build # collapse_navigation is set to False in conf.py to improve sidebar navigation for users. # However, we must change its value to True before we begin testing links. # Otherwise, sphinx would generate a large number of links we don't need to test. # The crawler would take a very long time to finish and TravisCI would fail as a result. sphinx-build -j8 -b html -d _build/doctrees -D html_theme_options.collapse_navigation=True . _build/html cd ../tools/documentation_crawler echo -en "\033[0;94m" echo "Testing links in documentation..." echo -en "\033[0m" set +e scrapy crawl_with_status documentation_crawler $loglevel result=$? if [ "$result" = 1 ]; then echo -en "\033[0;91m" echo "Failed!" echo -en "\033[0m" exit 1 else echo -en "\033[0;92m" echo "Passed!" echo -en "\033[0m" exit 0 fi