about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
diff options
context:
space:
mode:
authormark <markm@cs.wisc.edu>2020-10-05 13:23:14 -0500
committerJoshua Nelson <joshua@yottadb.com>2020-10-08 17:11:36 -0400
commitc683cf928f24412e5eef61031402d2c007f6baf1 (patch)
treeff41759f214917274b032e4f59c3c0f8657d961d /src/doc/rustc-dev-guide
parentb3d8e18c2300befc8d6c7b13554bf52edf0c1c78 (diff)
downloadrust-c683cf928f24412e5eef61031402d2c007f6baf1.tar.gz
rust-c683cf928f24412e5eef61031402d2c007f6baf1.zip
linkcheck only for changed files except in cron jobs
Diffstat (limited to 'src/doc/rustc-dev-guide')
-rw-r--r--src/doc/rustc-dev-guide/.travis.yml2
-rw-r--r--src/doc/rustc-dev-guide/book.toml1
-rwxr-xr-xsrc/doc/rustc-dev-guide/ci/linkcheck.sh20
3 files changed, 22 insertions, 1 deletions
diff --git a/src/doc/rustc-dev-guide/.travis.yml b/src/doc/rustc-dev-guide/.travis.yml
index fba5ab87e10..3e4a3dc0d33 100644
--- a/src/doc/rustc-dev-guide/.travis.yml
+++ b/src/doc/rustc-dev-guide/.travis.yml
@@ -12,7 +12,7 @@ before_install:
 install:
 - source ~/.cargo/env || true
 - cargo install mdbook --version '^0.4.3'
-- cargo install mdbook-linkcheck --version '^0.7.0'
+- cargo install mdbook-linkcheck --git https://github.com/Michael-F-Bryan/mdbook-linkcheck
 script:
 - git checkout -b ci
 - git rebase origin/master
diff --git a/src/doc/rustc-dev-guide/book.toml b/src/doc/rustc-dev-guide/book.toml
index 10bc2edd488..af909446a65 100644
--- a/src/doc/rustc-dev-guide/book.toml
+++ b/src/doc/rustc-dev-guide/book.toml
@@ -14,6 +14,7 @@ enable = true
 level = 0
 
 [output.linkcheck]
+command = "../../ci/linkcheck.sh"
 follow-web-links = true
 exclude = [ "crates\\.io", "gcc\\.godbolt\\.org", "youtube\\.com", "youtu\\.be", "dl\\.acm\\.org", "cs\\.bgu\\.ac\\.il", "www\\.amazon\\.com", "www\\.rustaceans\\.org" ]
 cache-timeout = 86400
diff --git a/src/doc/rustc-dev-guide/ci/linkcheck.sh b/src/doc/rustc-dev-guide/ci/linkcheck.sh
new file mode 100755
index 00000000000..85573314c5f
--- /dev/null
+++ b/src/doc/rustc-dev-guide/ci/linkcheck.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+if [ "$TRAVIS_EVENT_TYPE" = "cron" ] ; then # running in cron job
+  FLAGS=""
+
+  echo "Doing full link check."
+elif [ "$CI" = "true" ] ; then # running in PR CI build
+  CHANGED_FILES=$(git diff --name-only $TRAVIS_COMMIT_RANGE | tr '\n' ' ')
+  FLAGS="-f $CHANGED_FILES"
+
+  echo "Checking files changed in $TRAVIS_COMMIT_RANGE: $CHANGED_FILES"
+else # running locally
+  COMMIT_RANGE=master...
+  CHANGED_FILES=$(git diff --name-only $COMMIT_RANGE | tr '\n' ' ')
+  FLAGS="-f $CHANGED_FILES"
+
+  echo "Checking files changed in $COMMIT_RANGE: $CHANGED_FILES"
+fi
+
+exec mdbook-linkcheck $FLAGS -- $TRAVIS_BUILD_DIR