Skip to content

Commit 5e44f19

Browse files
committed
linkcheck only for changed files except in cron jobs
1 parent d4581a5 commit 5e44f19

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ before_install:
1212
install:
1313
- source ~/.cargo/env || true
1414
- cargo install mdbook --version '^0.4.3'
15-
- cargo install mdbook-linkcheck --version '^0.7.0'
15+
- cargo install mdbook-linkcheck --git https://github.com/Michael-F-Bryan/mdbook-linkcheck
1616
script:
1717
- git checkout -b ci
1818
- git rebase origin/master

book.toml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ enable = true
1414
level = 0
1515

1616
[output.linkcheck]
17+
command = "../../ci/linkcheck.sh"
1718
follow-web-links = true
1819
exclude = [ "crates\\.io", "gcc\\.godbolt\\.org", "youtube\\.com", "youtu\\.be", "dl\\.acm\\.org", "cs\\.bgu\\.ac\\.il", "www\\.amazon\\.com", "www\\.rustaceans\\.org" ]
1920
cache-timeout = 86400

ci/linkcheck.sh

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env bash
2+
3+
if [ "$TRAVIS_EVENT_TYPE" = "cron" ] ; then # running in cron job
4+
FLAGS=""
5+
6+
echo "Doing full link check."
7+
elif [ "$CI" = "true" ] ; then # running in PR CI build
8+
CHANGED_FILES=$(git diff --name-only $TRAVIS_COMMIT_RANGE | tr '\n' ' ')
9+
FLAGS="-f $CHANGED_FILES"
10+
11+
echo "Checking files changed in $TRAVIS_COMMIT_RANGE: $CHANGED_FILES"
12+
else # running locally
13+
COMMIT_RANGE=master...
14+
CHANGED_FILES=$(git diff --name-only $COMMIT_RANGE | tr '\n' ' ')
15+
FLAGS="-f $CHANGED_FILES"
16+
17+
echo "Checking files changed in $COMMIT_RANGE: $CHANGED_FILES"
18+
fi
19+
20+
exec mdbook-linkcheck $FLAGS -- $TRAVIS_BUILD_DIR

0 commit comments

Comments
 (0)