Blob Blame History Raw
language: c

matrix:
  include:
    - os: linux
      dist: trusty
      sudo: required
      compiler: clang
    - os: linux
      dist: trusty
      sudo: required
      compiler: gcc
    - os: osx
      compiler: gcc
  allow_failures:
    - os: osx

branches:
  only:
    - master
    - devel

before_install:
  - eval "${MATRIX_EVAL}"
  - git clone git://git.cryptomilk.org/projects/cmocka.git
  - cd cmocka && mkdir build && cd build
  - cmake .. && make -j2 && sudo make install
  - cd ../..
  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; fi
  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get update -qq; sudo apt-get install -y valgrind osc; sudo dpkg -i ./swig/swig3.0_3.0.12-1.2_amd64.deb; sudo dpkg -i ./swig/swig_3.0.12-1_amd64.deb; fi
  - if [ "$TRAVIS_OS_NAME" = "linux" -a "$CC" = "gcc-7" ]; then pip install --user codecov; export CFLAGS="-coverage"; fi

script:
  - mkdir build && cd build
  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then cmake -DENABLE_VALGRIND_TESTS=OFF ..; fi
  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then cmake -DGEN_LANGUAGE_BINDINGS=ON ..; fi
  - make -j2 && ctest --output-on-failure
  - cd -

after_success:
  - if [ "$TRAVIS_OS_NAME" = "linux" -a "$CC" = "gcc-7" ]; then codecov; ./packages/create-package.sh; fi