123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- # Travis CI script
- language: c
- os:
- - linux
- - osx
- dist: bionic
- 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="<token>"
- # 2) Create 2 OBS tokens with osc token --create network:messaging:zeromq:release-<stable|draft> libzmq
- # encrypt them with travis encrypt --org -r zeromq/libzmq OBS_<STABLE|DRAFT>_TOKEN="<token>"
- global:
- - secure: aaIs9Y44FYp9VFCqa6LLD4illBH4aUfbS0zzzbAQ5xJvD6NfBsMiKEIhf/kRNCHAtP+1VfQVOejTD6/i08ALsVr3cZD9oB/t7874tz2/jeZUIhRNo+1KwyaVqNg0yUSV6ASIoq4aOfuGnjBlezNQ8LQ2bjQB2m4Enl5wxoYcYdA=
- - secure: YFrcedBIKe0NR1WC6qQi9phZgtnzOiBIXm40TirvCtstV4eVnSouKgtQfLLArZ4o2tjflq4grQQNo1rJatvyi5YPOXsMcndsni18S+4Ffu8qbECdtPrK52vBweuf7q9oV9Ydax0Fm4bEqEMOZ2/mRBy3nK+mgsE3upeMwyWR0Zw=
- - secure: lbZSzmqN39QdJwewKOZgq/1ijPKuyx9MFrGzMqXj2+eOSlaZS/tNavHMdKJOev+qJGK9wxmwzxOxS10AiH+AvN7WBacXX4ZtudjScz2HKJRDWTKyzMbzyScq51afniItzrsm+Vo8NHkenNFkux0sSbh0aHlpkLwrGQu+WZWcDN4=
- - secure: "ZFL7hLJlGwYix8fF835OnQYakBt/o5iS7IfSW7el44ejEvGAOM9O5/ufxCcqSqn8Np7nOaM3RriAVTqWPZD6S7tMeflGTSGYHPYwWUc83z4rUPyG2FWVKXdB8ufpebAwu3hCgLiSmVeoQG47dl6xNk1oKCd+3UIjgz33u1Ecfps="
- matrix:
- include:
- - if: type = cron OR (branch =~ analyze$ AND type = push)
- env: BUILD_TYPE=cmake CLANG_TIDY=/usr/bin/clang-tidy-10 CC=clang-10 CXX=clang++-10
- os: linux
- compiler: clang
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- - llvm-toolchain-10
- packages:
- - clang-10
- - clang-tools-10
- - clang-tidy-10
- - env: BUILD_TYPE=default CURVE=tweetnacl IPv6=ON
- os: linux
- dist: precise
- - env: BUILD_TYPE=coverage CURVE=tweetnacl DRAFT=enabled
- os: linux
- dist: xenial
- addons:
- apt:
- packages:
- - lcov
- - env: BUILD_TYPE=valgrind CURVE=tweetnacl DRAFT=enabled TLS=enabled
- os: linux
- dist: xenial
- addons:
- apt:
- packages:
- - valgrind
- - libgnutls-dev
- - 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 DRAFT=enabled TLS=enabled
- os: linux
- dist: xenial
- addons:
- apt:
- packages:
- - libgnutls-dev
- - env: BUILD_TYPE=default CURVE=libsodium DRAFT=enabled GSSAPI=enabled PGM=enabled NORM=enabled TIPC=enabled USE_NSS=yes
- 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
- - libnss3-dev
- - libbsd-dev
- - env: BUILD_TYPE=default CURVE=libsodium DRAFT=enabled
- os: osx
- - env: BUILD_TYPE=default CURVE=libsodium DRAFT=enabled ADDRESS_SANITIZER=enabled
- os: linux
- addons:
- apt:
- packages:
- - libsodium-dev
- - env: BUILD_TYPE=android CURVE=tweetnacl
- os: linux
- dist: trusty
- - env: BUILD_TYPE=cmake DO_CLANG_FORMAT_CHECK=1 CLANG_FORMAT=/usr/lib/llvm-8/bin/clang-format
- os: linux
- addons:
- apt:
- packages:
- - clang-format-8
- - env: BUILD_TYPE=default POLLER=poll
- os: linux
- - env: BUILD_TYPE=default POLLER=select
- os: linux
- - env: CXX=clang++ BUILD_TYPE=default CURVE=libsodium GSSAPI=enabled PGM=enabled NORM=enabled FORCE_98=enabled
- os: linux
- compiler: clang
- 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=abi-compliance-checker
- os: linux
- dist: xenial
- addons:
- apt:
- packages:
- - abi-dumper
- - abi-compliance-checker
-
- 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
- # To allow sonar to process history information, unshallow clone first.
- - if [ -n "$CLANG_TIDY" ] ; then
- git fetch --unshallow ;
- 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://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip -o sonar-scanner-cli.zip ;
- unzip sonar-scanner-cli.zip ;
- export SONAR_SCANNER_CLI_PATH="$(pwd)/sonar-scanner-4.2.0.1873-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"
|