tools: travis: skip the build if only markdown files are changed

Credit: tritoch at https://github.com/travis-ci/travis-ci/issues/6301#issuecomment-313559284
This commit is contained in:
Simon Michael 2017-07-12 07:41:06 +01:00
parent 1831f83a81
commit f8674f46c0
2 changed files with 33 additions and 0 deletions

30
.travis-maybe-skip.sh Executable file
View File

@ -0,0 +1,30 @@
#!/bin/bash
# Maybe skip (terminate) this travis build, if it seems unnecessary.
# Emulates appveyor's more powerful skip/only feature.
set -e
# works only on master ?
CHANGED_FILES=`git diff --name-only master...${TRAVIS_COMMIT}`
# only files not matching this pattern will trigger a build
# extended regex, don't quote regex metachars
#SKIP_PAT="(^site/con|do.nload)"
SKIP_PAT="\.md$"
# doesn't handle empty CHANGED_FILES correctly, shouldn't matter
SKIP=True
for F in $CHANGED_FILES; do
if ! [[ $F =~ $SKIP_PAT ]]; then
SKIP=False
break
fi
done
if [[ $SKIP == True ]]; then
echo "Only skippable files found, exiting."
travis_terminate 0
exit 1
else
echo "Non-skippable files found, continuing with build."
fi

View File

@ -71,6 +71,9 @@ branches:
# - ghc: 7.10.3
# - ghc: 8.0.2
before_install:
- ./.travis-maybe-skip.sh
install: # command output is hidden as they complete
# if any command fails, end the travis script