diff options
Diffstat (limited to 'src/doc/rustc-dev-guide/ci/linkcheck.sh')
-rwxr-xr-x | src/doc/rustc-dev-guide/ci/linkcheck.sh | 31 |
1 files changed, 31 insertions, 0 deletions
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 000000000..5d49d1337 --- /dev/null +++ b/src/doc/rustc-dev-guide/ci/linkcheck.sh @@ -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 |