language: c sudo: false addons: apt: sources: - deadsnakes packages: - python3.5 _anchors: - &gcc49-packages apt: sources: - ubuntu-toolchain-r-test - deadsnakes packages: - python3.5 - gcc-4.9 - g++-4.9 - gobjc-4.9 - gnustep-devel matrix: include: # Linux Debug, GCC 4.9 - compiler: gcc-4.9 addons: *gcc49-packages env: CONFIGURATION: Debug GCOV: gcov-4.9 COVERAGE: "ON" # Linux Release, GCC 4.9 - compiler: gcc-4.9 addons: *gcc49-packages env: CONFIGURATION: Release # Linux RelWithDebInfo, GCC 4.9 - compiler: gcc-4.9 addons: *gcc49-packages env: CONFIGURATION: RelWithDebInfo DEPLOY: true # Linux Debug, GCC 4.6 - compiler: gcc env: CONFIGURATION=Debug TESTS=OFF # Linux Release, GCC 4.6 - compiler: gcc env: CONFIGURATION=Release TESTS=OFF # Linux RelWithDebInfo, GCC 4.6 - compiler: gcc env: - CONFIGURATION=RelWithDebInfo - TESTS=OFF # Coverity token - secure: >- n6BHG86ISeYSAVE/i7m1K+XVW0j8PrJ5JxoJwhAGBb1 hkCn9sWybGo1HzZsf7rxpkQh/5Va4i+eyOrUt7VWAuF EJN2+mEWqERkWZxiXrS3N9xi74cPFI79eDOTFnPm13e diUX8Ts+IuFy890+tsNHqkEn055l6yOVMtj1LWWtRs= # OSX Debug, GCC 4.9 - os: osx compiler: gcc-4.9 env: CONFIGURATION: Debug GCOV: gcov-4.9 COVERAGE: "ON" # OSX Release, GCC 4.9 - os: osx compiler: gcc-4.9 env: CONFIGURATION=Release # OSX RelWithDebInfo, GCC 4.9 - os: osx compiler: gcc-4.9 env: CONFIGURATION=RelWithDebInfo # OSX Debug, Clang - os: osx compiler: clang env: CONFIGURATION: Debug # OSX Release, Clang - os: osx compiler: clang env: CONFIGURATION: Release # OSX RelWithDebInfo, Clang - os: osx compiler: clang env: CONFIGURATION: RelWithDebInfo DEPLOY: true allow_failures: - compiler: gcc before_install: - | if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update brew install pcre fi - | if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$CC" = "clang" ]; then brew unlink cmake brew install llvm cmake fi - | if [ "${TESTS:-ON}" = "ON" ]; then if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install python3 export PATH="$(python3 -m site --user-base)/bin:$PATH" export PYTHON_BIN="python3" else curl -L https://bootstrap.pypa.io/get-pip.py | python3.5 - --user export PYTHON_BIN="python3.5" fi pip3 install --user cram==0.6 # Patch buggy cram on OSX if [ "$TRAVIS_OS_NAME" = "osx" ]; then patch "$(python3 -m site --user-base)/lib/python/site-packages/cram.py" .cmake/cram-osx.patch fi cram --version fi - export CXX=${CC/gcc/g++}; export CXX=${CXX/clang/clang++} - $CC --version - $CXX --version script: - mkdir -p build && cd $_ - > cmake -Wno-dev -DCTESTS=${TESTS:-ON} -DCOVERALLS=${COVERAGE:-OFF} -DCMAKE_BUILD_TYPE=${CONFIGURATION} -DCMAKE_INSTALL_PREFIX=criterion-${TRAVIS_TAG} ${CMAKE_OPTS} .. - | if [ "${TESTS:-ON}" = "ON" ]; then TERM=dumb cmake --build . --target criterion_tests -- -j4 ctest --output-on-failure else TERM=dumb cmake --build . -- -j4 fi after_success: - | if [ "$COVERAGE" = "ON" ]; then make gcov bash <(curl -s https://codecov.io/bash) fi before_deploy: - make install - tar -cvjf criterion-${TRAVIS_TAG}-${TRAVIS_OS_NAME}-x86_64.tar.bz2 criterion-${TRAVIS_TAG} - cd .. - ./.cmake/git-archive-all.sh --prefix criterion-${TRAVIS_TAG} criterion-${TRAVIS_TAG}.tar && bzip2 $_ addons: coverity_scan: project: name: "Snaipe/Criterion" description: "A KISS, Cross-platform C unit testing framework" notification_email: franklinmathieu@gmail.com build_command_prepend: "cmake ." build_command: "make -j4" branch_pattern: coverity_scan deploy: provider: releases skip_cleanup: true api_key: secure: d3l2Ohb2FF3tSXku1d0ASR5dntdnQ48Jyc39IEloDBxFXCselCkYruUQv6p0TA3P+Dmrz4wS7/AFlBMMsQ3XfGFVIOnITiTaGWg5fEpIf7zYsDf0zECPE0MOHMGqJMn3/SrSKdtEA4N84Q4JS7Ou+ewG65mxUDO5Ce60OoEG5JA= file: - criterion-${TRAVIS_TAG}-${TRAVIS_OS_NAME}-x86_64.tar.bz2 - criterion-${TRAVIS_TAG}.tar.bz2 on: repo: Snaipe/Criterion tags: true condition: $DEPLOY = true