hledger/.travis-maybe-skip.sh

38 lines
928 B
Bash
Raw Normal View History

#!/bin/bash
# Maybe skip (terminate) this travis build, if it seems unnecessary.
# Emulates appveyor's more powerful skip/only feature.
set -e
CHANGED_FILES=`git diff --name-only master...${TRAVIS_COMMIT}`
# TODO works only on master ? See eg this failure:
# https://travis-ci.org/simonmichael/hledger/builds/288453508
# only files not matching this extended regex will trigger a build
#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
# standard travis helper, not in scope for some reason
travis_terminate() {
set +e
pkill -9 -P $$ &> /dev/null || true
exit $1
}
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