Script to do Travis CI test locally
This commit is contained in:
parent
cd73e8f825
commit
a7b86e3921
47
buildroot/bin/travis_at_home
Executable file
47
buildroot/bin/travis_at_home
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# travis_at_home
|
||||||
|
#
|
||||||
|
# Run all Travis test builds at home to save time finding typos
|
||||||
|
# Make sure to have 'arduino' somewhere in your PATH
|
||||||
|
#
|
||||||
|
|
||||||
|
LOG="travis-out.txt"
|
||||||
|
|
||||||
|
cd `dirname "$0"`/../..
|
||||||
|
|
||||||
|
TRAVIS_BUILD_DIR=`pwd`
|
||||||
|
echo $'Tests for '$TRAVIS_BUILD_DIR$' ...\n' >"$LOG"
|
||||||
|
|
||||||
|
# Add a temporary execution PATH
|
||||||
|
export PATH="./buildroot/bin:$PATH"
|
||||||
|
|
||||||
|
# Scan .travis.yml and run config/build commands only
|
||||||
|
X=1
|
||||||
|
while read P; do
|
||||||
|
|
||||||
|
# Command lines start with a hyphen
|
||||||
|
if [[ $P =~ ^-\ (([^ ]+)(\ .*)?)$ ]]; then
|
||||||
|
WORD="${BASH_REMATCH[2]}" ; # The first word
|
||||||
|
CMD="${BASH_REMATCH[1]}" ; # The whole command
|
||||||
|
RUN=1 ; BUILD=0
|
||||||
|
case "$WORD" in
|
||||||
|
cp|opt_*|pins_*|use_*|restore_*|gen*) ;;
|
||||||
|
build_*) BUILD=1 ;;
|
||||||
|
*) RUN=0 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Runnable command
|
||||||
|
if [[ $RUN == 1 ]]; then
|
||||||
|
echo "$CMD" >>"$LOG"
|
||||||
|
RESULT=$( eval "$CMD >>\"$LOG\" 2>&1" )
|
||||||
|
if [[ $BUILD == 1 ]]; then
|
||||||
|
echo "--- Build $X done."
|
||||||
|
echo >>"$LOG"
|
||||||
|
X=$((X+1))
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done <.travis.yml
|
||||||
|
|
||||||
|
cd - >/dev/null
|
Loading…
Reference in New Issue
Block a user