diff --git a/.travis.yml b/.travis.yml index 5322760..1cbd3fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,8 @@ dist: trusty os: - linux +env: + - JOB=PRE_COMMIT addons: apt: @@ -15,7 +17,12 @@ addons: - python2.7-dev ssh_known_hosts: 52.76.173.135 +before_install: + - sudo pip install -U virtualenv pre-commit pip + script: + - exit_code=0 + - .travis/pre_commit.sh || exit_code=$(( exit_code | $? )) - | if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then exit 0; fi; if [[ "$TRAVIS_BRANCH" != "develop" && ! "$TRAVIS_BRANCH" =~ ^v[[:digit:]]+\.[[:digit:]]+(\.[[:digit:]]+)?(-\S*)?$ ]]; then echo "not develop branch, no deploy"; exit 0; fi; @@ -23,6 +30,9 @@ script: export MOBILE_DIR=`pwd` cd .. curl $DEPLOY_DOCS_SH | bash -s $CONTENT_DEC_PASSWD $TRAVIS_BRANCH $MOBILE_DIR + exit_code=$(( exit_code | $? )) + exit $exit_code + notifications: email: on_success: change diff --git a/.travis/pre_commit.sh b/.travis/pre_commit.sh new file mode 100755 index 0000000..7ea0d5a --- /dev/null +++ b/.travis/pre_commit.sh @@ -0,0 +1,24 @@ +#!/bin/bash +function abort(){ + echo "Your commit not fit PaddlePaddle code style" 1>&2 + echo "Please use pre-commit scripts to auto-format your code" 1>&2 + echo "Install pre-commit following 2 steps:" 1>&2 + echo "1> pip install pre-commit" 1>&2 + echo "2> pre-commit install (under the Mobile repo)" 1>&2 + exit 1 +} + +trap 'abort' 0 +set -e +cd `dirname $0` +cd .. +export PATH=/usr/bin:$PATH +pre-commit install + +if ! pre-commit run -a ; then + ls -lh + git diff --exit-code + exit 1 +fi + +trap : 0 diff --git a/README.md b/README.md index df49d06..a55e5fd 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Here mainly describes how to deploy PaddlePaddle to the mobile end, as well as s - [How to build PaddlePaddle mobile inference library with minimum size.](./deployment/library/build_for_minimum_size.md) ## Demo -- [An inference demo program based on the Paddle C API.](./benchmark/tool/C/README.md) +- [A command-line inference demo.](./benchmark/tool/C/README.md) - [iOS demo of AICamera](./Demo/iOS/AICamera/README.md) ## Deployment optimization methods