# Travis-CI Build for rabbitmq-c # see travis-ci.org for details language: c dist: trusty # Currently libpopt-dev is not on the list of whitelisted apt-packages. sudo: true env: global: # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created # via the "travis encrypt" command using the project repo's public key - secure: "gDwqo3jHj+HHGzFKnxL/nwZhbVeh2pItw0TbeaHcLtWubUZaf85ViEQRaXPyfnbG7l0OEQq+PjyhKAfvViVq2NP0lGeeu4VM5uMZJhsCLN594BJr39Y4XzOapg0O8mEMhQ0DU2u1Zo4LMgEcRz67aosVQOj6QV30tOzp9fnxn9U=" services: - rabbitmq matrix: include: # Note that the first compiler in the matrix must be gcc, so that the # coverity_scan branch hack below works correctly. - compiler: gcc os: linux env: CONFIG=cmake - compiler: gcc os: linux env: CONFIG=coverage - compiler: clang os: linux env: CONFIG=cmake - compiler: clang os: linux env: CONFIG=asan - compiler: clang os: linux env: CONFIG=tsan - compiler: clang os: linux env: CONFIG=scan-build - compiler: clang os: osx env: CONFIG=cmake allow_failures: - compiler: clang os: linux env: CONFIG=tsan before_install: - | if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - sudo apt-add-repository "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.9 main" sudo apt-get -q update; sudo apt-get install -y clang-3.9 libpopt-dev; fi # ugly hack; if running a coverity scan abort all except the 1st build # see note re gcc compiler above needing to be 1st # also note that branch_pattern & the TRAVIS_BRANCH check must match # unfortunately COVERITY_SCAN_BRANCH isn't defined until later in the # build process - if ([[ "${TRAVIS_JOB_NUMBER##*.}" != "1" ]] && [[ "${TRAVIS_BRANCH}" == "coverity_scan" ]]); then false ; fi script: # Don't bother building if this is being done in the coverity_scan branch. - if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then ./travis.sh $CONFIG ; fi addons: coverity_scan: project: name: "alanxz/rabbitmq-c" description: "C AMQP client for RabbitMQ" notification_email: alan.antonuk@gmail.com build_command_prepend: mkdir build && pushd build && cmake .. && popd build_command: cmake --build ./build branch_pattern: coverity_scan