diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..e10eb71e7f2f4dc4f3db661c3e1766e523baae1c --- /dev/null +++ b/.travis.yml @@ -0,0 +1,31 @@ +language: generic +sudo: required +dist: trusty + +services: + - docker + +os: + - linux + +env: + - JOB=check_style + +before_install: + # For pylint dockstring checker + - sudo pip install pylint pytest astroid isort + - | + function timeout() { perl -e 'alarm shift; exec @ARGV' "$@"; } + +script: + - "travis_wait 30 sleep 1800 &" + - | + # 43min timeout + tools/build_script.sh ${JOB} + if [ $? -eq 0 ] || [ $? -eq 142 ]; then true; else exit 1; fi; + +notifications: + email: + on_success: change + on_failure: always + diff --git a/tools/build_script.sh b/tools/build_script.sh new file mode 100644 index 0000000000000000000000000000000000000000..30591ddc7ff85cc58c4fc7ef932e55be07b710e5 --- /dev/null +++ b/tools/build_script.sh @@ -0,0 +1,44 @@ +function init() { + RED='\033[0;31m' + BLUE='\033[0;34m' + BOLD='\033[1m' + NONE='\033[0m' + + ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}")/../../" && pwd )" +} + +function check_style() { + trap 'abort' 0 + set -e + + if [ -x "$(command -v gimme)" ]; then + eval "$(GIMME_GO_VERSION=1.8.3 gimme)" + fi + + pip install cpplint + # set up go environment for running gometalinter + mkdir -p $GOPATH/src/github.com/SeiriosPlus/PaddleRec + ln -sf ${ROOT} $GOPATH/src/github.com/SeiriosPlus/PaddleRec + + export PATH=/usr/bin:$PATH + pre-commit install + clang-format --version + + if ! pre-commit run -a; then + git diff + exit 1 + fi + + trap : 0 +} + +function main() { + local CMD=$1 + init + case $CMD in + check_style) + check_style + ;; +} + +main $@