about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc/rustc-dev-guide')
-rw-r--r--src/doc/rustc-dev-guide/.travis.yml4
-rw-r--r--src/doc/rustc-dev-guide/ci/build-ignore-timeouts.sh23
2 files changed, 25 insertions, 2 deletions
diff --git a/src/doc/rustc-dev-guide/.travis.yml b/src/doc/rustc-dev-guide/.travis.yml
index fc6f4f05e57..bd72a03fc0b 100644
--- a/src/doc/rustc-dev-guide/.travis.yml
+++ b/src/doc/rustc-dev-guide/.travis.yml
@@ -8,9 +8,9 @@ before_install:
 - MAX_LINE_LENGTH=100 bash ci/check_line_lengths.sh src/**/*.md
 install:
 - source ~/.cargo/env || true
-- bash ci/install.sh
+- bash -x ci/install.sh
 script:
-- mdbook build
+- bash -x ci/build-ignore-timeouts.sh
 - mdbook test
 notifications:
   email:
diff --git a/src/doc/rustc-dev-guide/ci/build-ignore-timeouts.sh b/src/doc/rustc-dev-guide/ci/build-ignore-timeouts.sh
new file mode 100644
index 00000000000..b21ce24e83f
--- /dev/null
+++ b/src/doc/rustc-dev-guide/ci/build-ignore-timeouts.sh
@@ -0,0 +1,23 @@
+
+output=$(mktemp)
+
+RUST_LOG=mdbook_linkcheck=debug mdbook build 2>&1 | tee $output
+
+result=${PIPESTATUS[0]}
+
+# if passed, great!
+if [ "$result" -eq "0" ] ; then
+    exit 0 ;
+fi
+
+errors=$(cat $output | sed -n 's/There \(was\|were\) \([0-9]\+\).*$/\2/p')
+timeouts=$(cat $output | grep "error while fetching" | wc -l)
+
+# if all errors are timeouts, ignore them...
+if [ "$errors" -eq "$timeouts" ] ; then
+    echo "Ignoring $timeouts timeouts";
+    exit 0;
+else
+    echo "Non-timeout errors found";
+    exit 1;
+fi