https://github.com/precice/precice
Raw File
Tip revision: d377dffa3a9009c9d70d3f136fba2d6bc1e7fb63 authored by Frédéric Simonis on 13 September 2019, 07:38:40 UTC
Fix typo
Tip revision: d377dff
.travis.yml
language: cpp
dist: trusty
sudo: false

compiler:
  - gcc
  - clang

addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
    packages:
      - g++-6
      - libopenmpi-dev
      - openmpi-bin
      - python-numpy
      - libblas-dev
      - liblapack-dev
      - lcov

env:
  global:
    - HWLOC_HIDE_ERRORS=1
    - PRECICE_ROOT="$TRAVIS_BUILD_DIR"
    - LOCAL_INSTALL="$HOME/local"
    - PETSC_ARCH=arch-linux2-c-debug
    - PETSC_DIR=$LOCAL_INSTALL/petsc
    - EIGEN3_ROOT_DIR=${LOCAL_INSTALL}/eigen3
    - CPLUS_INCLUDE_PATH="$PETSC_DIR/include:$PETSC_DIR/$PETSC_ARCH/include:$LOCAL_INSTALL/include:$EIGEN3_ROOT_DIR:$CPLUS_INCLUDE_PATH"
    - LD_LIBRARY_PATH="$PETSC_DIR/$PETSC_ARCH/lib:$LOCAL_INSTALL/lib:$LD_LIBRARY_PATH"
    - LIBRARY_PATH="$PETSC_DIR/$PETSC_ARCH/lib:$LOCAL_INSTALL/lib:$LIBRARY_PATH"
    - PYTHONPATH="$PETSC_DIR/$PETSC_ARCH/lib:/usr/lib/python2.7:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/plat-x86_64-linux-gnu"
    - BOOST_ROOT=${LOCAL_INSTALL}
    - BUILD_TYPE=CMAKE
    - CXXFLAGS="-Wall -Wextra -Wno-unused-parameter"

  matrix:
    - MPI=on PETSC=on
    - MPI=on PETSC=off
    - MPI=off PETSC=off

matrix:
  include:

      # testing builds on scons
    - if: type = cron or branch = master
      compiler: gcc
      env: BUILD_TYPE=SCONS MPI=on PETSC=on
    - if: type = cron or branch = master
      compiler: gcc
      env: BUILD_TYPE=SCONS MPI=on PETSC=off
    - if: type = cron or branch = master
      compiler: gcc
      env: BUILD_TYPE=SCONS MPI=off PETSC=off
    - if: type = cron or branch = master
      compiler: clang
      env: BUILD_TYPE=SCONS MPI=on PETSC=on
    - if: type = cron or branch = master
      compiler: clang
      env: BUILD_TYPE=SCONS MPI=on PETSC=off
    - if: type = cron or branch = master
      compiler: clang
      env: BUILD_TYPE=SCONS MPI=off PETSC=off

    # Test coverage
    - name: "Test Coverage"
      compiler: gcc
      script:
        - $TRAVIS_BUILD_DIR/tools/travis-coverage.sh
      after_success:
        - lcov --capture --directory "$TRAVIS_BUILD_DIR/build" --output-file coverage.info
        - lcov --remove coverage.info '/usr/*' "$LOCAL_INSTALL/*" --output-file coverage.info # filter system-files and local-dependencies
        - lcov --list coverage.info # debug info
        - bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov did not collect coverage reports"

    # Test Bindings
    - name: "Mock Test Python Bindings"
      cache: false
      before_install:
        - pyenv global $(pyenv whence 2to3)  # activate all python versions
        - PYTHONPATH=""
        - PY_CMD=python3
        - $PY_CMD -m pip install --user --upgrade pip wheel setuptools
      install:
        - pip3 install --user cython numpy mpi4py
      script:
        - $TRAVIS_BUILD_DIR/tools/travis-bindings-test.sh

cache:
  ccache: true
  directories:
    - $LOCAL_INSTALL

before_install:
  - if [ "$CXX" = "g++" ]; then export CXX="g++-6" && export CC="gcc-6" && export CXXFLAGS="$CXXFLAGS -Wno-literal-suffix"; fi
  - export OMPI_CXX=$CXX
  - if [ "$MPI" = "on" ]; then export CXX="mpicxx"; fi
  - pyenv global $(pyenv whence 2to3)  # activate all python versions
  - PYTHONPATH=""  # if PYTHONPATH is set, Travis errors
  - PY_CMD=python3  # set PY_CMD
  - $PY_CMD -m pip install --user --upgrade pip wheel setuptools # install python dependencies

install:
  - $TRAVIS_BUILD_DIR/tools/travis-install-dependencies.sh $LOCAL_INSTALL
  - pip3 install --user cython numpy mpi4py
  - export PATH=${LOCAL_INSTALL}/cmake/bin:${LOCAL_INSTALL}/bin:${PATH}

before_script:
  - mkdir $TRAVIS_BUILD_DIR/tests

script:
  - $TRAVIS_BUILD_DIR/tools/travis-build-test.sh

after_failure:
  - cd $TRAVIS_BUILD_DIR
  - cat config.log
  - cat -n ./tests/boost-test-output*
back to top