about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide/ci
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc/rustc-dev-guide/ci')
-rw-r--r--src/doc/rustc-dev-guide/ci/build-ignore-timeouts.sh23
1 files changed, 23 insertions, 0 deletions
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