.travis.yml 1.4 KB
Newer Older
Y
Yu Yang 已提交
1 2 3 4
language: cpp
cache: ccache
sudo: required
dist: trusty
Y
Yu Yang 已提交
5 6 7
os:
  - linux
  - osx
Y
Yu Yang 已提交
8 9 10
env:
  - JOB=DOCS
  - JOB=BUILD_AND_TEST
Y
Yu Yang 已提交
11 12 13 14 15
matrix:
  exclude:
    - os: osx
      env: JOB=DOCS  # Only generate documentation in linux

Y
Yu Yang 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29
addons:
  apt:
    packages:
      - gcc-4.8
      - g++-4.8
      - wget
      - git
      - build-essential
      - libatlas-base-dev
      - python
      - python-pip
      - python2.7-dev
      - m4
      - libprotobuf-dev
Y
Yu Yang 已提交
30
      - doxygen
Y
Yu Yang 已提交
31 32 33 34 35 36 37
      - protobuf-compiler
      - python-protobuf
      - python-numpy
      - python-wheel
      - libgoogle-glog-dev
      - libgflags-dev
      - libgtest-dev
G
gangliao 已提交
38 39
      - curl
      - lcov
Y
Yu Yang 已提交
40
      - graphviz
Y
Yu Yang 已提交
41
before_install:
42 43 44 45 46 47 48 49 50 51
  - |
    if [ ${JOB} == "BUILD_AND_TEST" ]; then
      if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
        TRAVIS_COMMIT_RANGE="FETCH_HEAD...$TRAVIS_BRANCH"
      fi
      git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.md$)' || {
        echo "Only markdown docs were updated, stopping build process."
        exit
      }
    fi
Y
Yu Yang 已提交
52 53
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo paddle/scripts/travis/before_install.linux.sh; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then paddle/scripts/travis/before_install.osx.sh; fi
Y
Yu Yang 已提交
54
  - pip install wheel protobuf sphinx breathe recommonmark
Y
Yu Yang 已提交
55
script:
Y
Yu Yang 已提交
56
  - paddle/scripts/travis/main.sh
Y
Yu Yang 已提交
57 58 59 60
notifications:
  email:
    on_success: change
    on_failure: always