From 40a1b7a0b10fea2995c7aaa46c90a9633e6d99f6 Mon Sep 17 00:00:00 2001
From: Joel Nothman <joel.nothman@gmail.com>
Date: Sun, 11 Dec 2016 00:27:56 +1100
Subject: [PATCH] CI report which doc files were likely affected (#8032)

---
 build_tools/circle/build_doc.sh | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/build_tools/circle/build_doc.sh b/build_tools/circle/build_doc.sh
index 776f2c024e..1e0e574f1d 100755
--- a/build_tools/circle/build_doc.sh
+++ b/build_tools/circle/build_doc.sh
@@ -126,3 +126,26 @@ python setup.py develop
 
 # The pipefail is requested to propagate exit code
 set -o pipefail && cd doc && make $MAKE_TARGET 2>&1 | tee ~/log.txt
+
+cd -
+set +o pipefail
+
+affected_doc_paths() {
+	files=$(git diff --name-only origin/master...$CIRCLE_SHA1)
+	echo "$files" | grep ^doc/.*\.rst | sed 's/^doc\/\(.*\)\.rst$/\1.html/'
+	echo "$files" | grep ^examples/.*.py | sed 's/^\(.*\)\.py$/auto_\1.html/'
+	sklearn_files=$(echo "$files" | grep '^sklearn/')
+	grep -hlR -f<(echo "$sklearn_files" | sed 's/^/scikit-learn\/blob\/[a-z0-9]*\//') doc/_build/html/stable/modules/generated | cut -d/ -f5-
+}
+
+if [ -n "$CI_PULL_REQUEST" ]
+then
+	echo "The following documentation files may have been changed by PR #$CI_PULL_REQUEST:"
+	affected=$(affected_doc_paths)
+	echo "$affected" | sed 's|^|* http://scikit-learn.org/circle?'$CIRCLE_BUILD_NUM'/|'
+	(
+	echo '<html><body><ul>'
+	echo "$affected" | sed 's|.*|<li><a href="&">&</a></li>|'
+	echo '</ul></body></html>'
+	) > 'doc/_build/html/stable/_changed.html'
+fi
-- 
GitLab