branches: only: - master git: quiet: true depth: 5 language: c addons: apt: packages: - lcov compiler: - clang - gcc os: - linux - osx env: global: - MAKEJOBS="-j$(getconf _NPROCESSORS_ONLN)" - TRAVIS_COMMIT_LOG=`git log --format=fuller -2` - COVERAGE=OFF # Currently works only with gcc on linux before_script: - '[[ "${TRAVIS_OS_NAME}-${TRAVIS_COMPILER}" != "linux-gcc" ]] || export COVERAGE="ON"' script: - | if [ $COVERAGE = "ON" ]; then export LDFLAGS=" -lgcov --coverage" export CFLAGS="-O0 -ggdb -fprofile-arcs -ftest-coverage" fi - make $MAKEJOBS || ( echo "Build failure. Verbose build follows." && make V=1 ; false ) - make check -j1 VERBOSE=1 jobs: include: - stage: Benchmark os: linux compiler: gcc before_script: - export COVERAGE=OFF script: - make $MAKEJOBS - make $MAKEJOBS bench - stage: Benchmark os: linux compiler: gcc env: - CFLAGS="-march=native -mtune=native -O3" before_script: - export COVERAGE=OFF script: - make $MAKEJOBS - make $MAKEJOBS bench - stage: Benchmark os: osx compiler: clang env: - CFLAGS="-march=native -mtune=native -O3" before_script: - export COVERAGE=OFF script: - make $MAKEJOBS - make $MAKEJOBS bench - stage: Benchmark os: osx compiler: clang before_script: - export COVERAGE=OFF script: - make $MAKEJOBS - make $MAKEJOBS bench after_success: - '[[ "$COVERAGE" != "ON" ]] || bash <(curl -s https://codecov.io/bash)' after_script: - printf "$TRAVIS_COMMIT_RANGE\n" - printf "$TRAVIS_COMMIT_LOG\n"