]> git.proxmox.com Git - rustc.git/blobdiff - src/doc/rustc-dev-guide/ci/linkcheck.sh
Merge tag 'debian/1.52.1+dfsg1-1_exp2' into proxmox/buster
[rustc.git] / src / doc / rustc-dev-guide / ci / linkcheck.sh
diff --git a/src/doc/rustc-dev-guide/ci/linkcheck.sh b/src/doc/rustc-dev-guide/ci/linkcheck.sh
new file mode 100755 (executable)
index 0000000..8848235
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+# https://docs.github.com/en/actions/reference/environment-variables
+if [ "$GITHUB_EVENT_NAME" = "schedule" ] ; then # running in scheduled job
+  FLAGS=""
+
+  echo "Doing full link check."
+  set -x
+elif [ "$GITHUB_EVENT_NAME" = "pull_request" ] ; then # running in PR CI build
+  if [ -z "$BASE_SHA" ]; then
+    echo "error: unexpected state: BASE_SHA must be non-empty in CI"
+    exit 1
+  fi
+
+  CHANGED_FILES=$(git diff --name-only $BASE_SHA... | tr '\n' ' ')
+  FLAGS="--no-cache -f $CHANGED_FILES"
+
+  echo "Checking files changed since $BASE_SHA: $CHANGED_FILES"
+  set -x
+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