diff --git a/dev/lint-python b/dev/lint-python index 1765a07d2f22b4c811c792c0b9b5c04a6a6201c9..068337d273f82020c36d3121b8c83b21d2da8f02 100755 --- a/dev/lint-python +++ b/dev/lint-python @@ -24,6 +24,8 @@ PATHS_TO_CHECK="$PATHS_TO_CHECK ./dev/run-tests.py ./python/run-tests.py ./dev/r PEP8_REPORT_PATH="$SPARK_ROOT_DIR/dev/pep8-report.txt" PYLINT_REPORT_PATH="$SPARK_ROOT_DIR/dev/pylint-report.txt" PYLINT_INSTALL_INFO="$SPARK_ROOT_DIR/dev/pylint-info.txt" +SPHINXBUILD=${SPHINXBUILD:=sphinx-build} +SPHINX_REPORT_PATH="$SPARK_ROOT_DIR/dev/sphinx-report.txt" cd "$SPARK_ROOT_DIR" @@ -96,6 +98,28 @@ fi rm "$PEP8_REPORT_PATH" +# Check that the documentation builds acceptably, skip check if sphinx is not installed. +if hash "$SPHINXBUILD" 2> /dev/null; then + cd python/docs + make clean + # Treat warnings as errors so we stop correctly + SPHINXOPTS="-a -W" make html &> "$SPHINX_REPORT_PATH" || lint_status=1 + if [ "$lint_status" -ne 0 ]; then + echo "pydoc checks failed." + cat "$SPHINX_REPORT_PATH" + echo "re-running make html to print full warning list" + make clean + SPHINXOPTS="-a" make html + else + echo "pydoc checks passed." + fi + rm "$SPHINX_REPORT_PATH" + cd ../.. +else + echo >&2 "The $SPHINXBUILD command was not found. Skipping pydoc checks for now" +fi + + # for to_be_checked in "$PATHS_TO_CHECK" # do # pylint --rcfile="$SPARK_ROOT_DIR/pylintrc" $to_be_checked >> "$PYLINT_REPORT_PATH" diff --git a/python/docs/conf.py b/python/docs/conf.py index 365d6af5141779174fd1928eae2d62f1a3bd13ab..d35bf73c30510849a8fba51855f423c6088b0ad2 100644 --- a/python/docs/conf.py +++ b/python/docs/conf.py @@ -334,3 +334,6 @@ epub_exclude_files = ['search.html'] # If false, no index is generated. #epub_use_index = True + +# Skip sample endpoint link (not expected to resolve) +linkcheck_ignore = [r'https://kinesis.us-east-1.amazonaws.com']