# Travis CI script language: c os: - linux - osx dist: trusty cache: ccache env: matrix: - BUILD_TYPE=default CURVE=tweetnacl DRAFT=enabled - BUILD_TYPE=cmake CURVE=tweetnacl - BUILD_TYPE=default # tokens to deploy releases on OBS and create/delete temporary branch on Github. # 1) Create a token on https://github.com/settings/tokens/new with "public_repo" # capability and encrypt it with travis encrypt --org -r zeromq/libzmq GH_TOKEN="" # 2) Create 2 OBS tokens with osc token --create network:messaging:zeromq:release- libzmq # encrypt them with travis encrypt --org -r zeromq/libzmq OBS__TOKEN="" global: - secure: aaIs9Y44FYp9VFCqa6LLD4illBH4aUfbS0zzzbAQ5xJvD6NfBsMiKEIhf/kRNCHAtP+1VfQVOejTD6/i08ALsVr3cZD9oB/t7874tz2/jeZUIhRNo+1KwyaVqNg0yUSV6ASIoq4aOfuGnjBlezNQ8LQ2bjQB2m4Enl5wxoYcYdA= - secure: YFrcedBIKe0NR1WC6qQi9phZgtnzOiBIXm40TirvCtstV4eVnSouKgtQfLLArZ4o2tjflq4grQQNo1rJatvyi5YPOXsMcndsni18S+4Ffu8qbECdtPrK52vBweuf7q9oV9Ydax0Fm4bEqEMOZ2/mRBy3nK+mgsE3upeMwyWR0Zw= - secure: lbZSzmqN39QdJwewKOZgq/1ijPKuyx9MFrGzMqXj2+eOSlaZS/tNavHMdKJOev+qJGK9wxmwzxOxS10AiH+AvN7WBacXX4ZtudjScz2HKJRDWTKyzMbzyScq51afniItzrsm+Vo8NHkenNFkux0sSbh0aHlpkLwrGQu+WZWcDN4= matrix: include: - env: BUILD_TYPE=default CURVE=tweetnacl IPv6=ON os: linux dist: precise sudo: false - env: BUILD_TYPE=coverage CURVE=tweetnacl DRAFT=enabled os: linux addons: apt: packages: - lcov - env: BUILD_TYPE=valgrind CURVE=tweetnacl DRAFT=enabled os: linux addons: apt: packages: - valgrind - env: BUILD_TYPE=default CURVE=libsodium GSSAPI=enabled PGM=enabled NORM=enabled os: linux addons: apt: sources: - sourceline: 'deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/git-stable/xUbuntu_14.04/ ./' key_url: 'http://download.opensuse.org/repositories/network:/messaging:/zeromq:/git-stable/xUbuntu_14.04/Release.key' packages: - libkrb5-dev - libnorm-dev - libpgm-dev - libsodium-dev - asciidoc - xmlto - env: BUILD_TYPE=default CURVE=libsodium DRAFT=enabled GSSAPI=enabled PGM=enabled NORM=enabled TIPC=enabled os: linux sudo: required addons: apt: sources: - sourceline: 'deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/git-stable/xUbuntu_14.04/ ./' key_url: 'http://download.opensuse.org/repositories/network:/messaging:/zeromq:/git-stable/xUbuntu_14.04/Release.key' packages: - libkrb5-dev - libnorm-dev - libpgm-dev - libsodium-dev - env: BUILD_TYPE=default CURVE=libsodium DRAFT=enabled os: osx - env: BUILD_TYPE=default CURVE=tweetnacl DRAFT=enabled ADDRESS_SANITIZER=enabled os: linux dist: trusty addons: apt: sources: - sourceline: 'ppa:ubuntu-toolchain-r/test' packages: - g++-6 - gcc-6 - env: BUILD_TYPE=android CURVE=tweetnacl os: linux dist: trusty - env: BUILD_TYPE=cmake DO_CLANG_FORMAT_CHECK=1 CLANG_FORMAT=/usr/local/clang-5.0.0/bin/clang-format os: linux addons: apt: sources: - llvm-toolchain-trusty-5.0 packages: - clang-5.0 - env: BUILD_TYPE=cmake CLANG_TIDY=/usr/bin/clang-tidy-6.0 CC=clang-6.0 CXX=clang++-6.0 os: linux compiler: clang addons: apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-trusty-6.0 packages: - clang-6.0 - clang-tools-6.0 - clang-tidy-6.0 - env: BUILD_TYPE=default POLLER=poll os: linux - env: BUILD_TYPE=default POLLER=select os: linux sudo: false before_install: - if [ $TRAVIS_OS_NAME == "osx" -a $BUILD_TYPE == "android" ] ; then brew update; brew install binutils ; fi - if [ $TRAVIS_OS_NAME == "osx" -a $CURVE == "libsodium" ] ; then brew update; brew install libsodium ; fi - if [ -n "$CLANG_TIDY" ] ; then curl -L https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip -o build-wrapper-linux-x86.zip ; unzip build-wrapper-linux-x86.zip ; export SONARCLOUD_BUILD_WRAPPER_PATH="$(pwd)/build-wrapper-linux-x86/" ; curl -L https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.1.0.1141-linux.zip -o sonar-scanner-cli.zip ; unzip sonar-scanner-cli.zip ; export SONAR_SCANNER_CLI_PATH="$(pwd)/sonar-scanner-3.1.0.1141-linux/bin/" ; fi before_script: # ZMQ stress tests need more open socket (files) than the usual default # On OSX, it seems the way to set the max files limit is constantly changing, so # try to use all known knobs to ensure compatibility across various versions - if [ $TRAVIS_OS_NAME == "osx" ] ; then sudo sysctl -w kern.maxfiles=64000 ; sudo sysctl -w kern.maxfilesperproc=64000 ; sudo launchctl limit maxfiles 64000 64000 ; ulimit -n 64000; fi # Build and check this project according to the BUILD_TYPE script: ./ci_build.sh # Deploy tags before_deploy: - . ./ci_deploy.sh deploy: provider: releases api_key: secure: vGB5E+A8wxm2J1GJZzmIgT9PrjEzvd9gE8iui8FyxSbxAsW9vFZFGZC/21sTtpVcmRarwQCHH1UEbtg+nJwN2iD9YzMRnSVks8xqP+b709YW+VXaMuhZgTzWa74IorQku7NuvLibvQk72/OSgdwPGaNJ6f5AX9pnWVWbEoW1svE= file_glob: true file: ${LIBZMQ_DEPLOYMENT} skip_cleanup: true on: repo: zeromq/libzmq branch: master tags: true condition: "$TRAVIS_OS_NAME =~ (linux) && $BUILD_TYPE =~ (default) && $CURVE =~ (libsodium) && -z $DRAFT"