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:
parent
1831f83a81
commit
f8674f46c0
30
.travis-maybe-skip.sh
Executable file
30
.travis-maybe-skip.sh
Executable 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
|
||||||
@ -71,6 +71,9 @@ branches:
|
|||||||
# - ghc: 7.10.3
|
# - ghc: 7.10.3
|
||||||
# - ghc: 8.0.2
|
# - ghc: 8.0.2
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- ./.travis-maybe-skip.sh
|
||||||
|
|
||||||
install: # command output is hidden as they complete
|
install: # command output is hidden as they complete
|
||||||
|
|
||||||
# if any command fails, end the travis script
|
# if any command fails, end the travis script
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user