2014-08-12 12:30:43 +02:00
|
|
|
# Travis CI script
|
2013-09-12 12:46:43 +02:00
|
|
|
|
2013-05-21 09:20:39 +02:00
|
|
|
language: c
|
2013-09-12 12:46:43 +02:00
|
|
|
|
2015-08-01 18:56:11 +01:00
|
|
|
os:
|
|
|
|
- linux
|
|
|
|
- osx
|
|
|
|
|
2020-05-05 11:09:22 +01:00
|
|
|
dist: bionic
|
2016-03-19 16:30:59 +00:00
|
|
|
|
2018-01-27 11:01:35 +02:00
|
|
|
cache: ccache
|
|
|
|
|
2014-11-02 17:33:23 -08:00
|
|
|
env:
|
2017-04-29 17:42:03 +01:00
|
|
|
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=
|
2018-05-24 16:06:08 +01:00
|
|
|
- secure: "ZFL7hLJlGwYix8fF835OnQYakBt/o5iS7IfSW7el44ejEvGAOM9O5/ufxCcqSqn8Np7nOaM3RriAVTqWPZD6S7tMeflGTSGYHPYwWUc83z4rUPyG2FWVKXdB8ufpebAwu3hCgLiSmVeoQG47dl6xNk1oKCd+3UIjgz33u1Ecfps="
|
2016-03-13 19:52:31 +00:00
|
|
|
|
|
|
|
matrix:
|
2016-04-18 16:22:49 +01:00
|
|
|
include:
|
2018-05-31 11:23:04 +02:00
|
|
|
- if: type = cron OR (branch =~ analyze$ AND type = push)
|
2019-12-08 13:51:38 +01:00
|
|
|
env: BUILD_TYPE=cmake CLANG_TIDY=/usr/bin/clang-tidy-8 CC=clang-8 CXX=clang++-8
|
2018-05-31 11:23:04 +02:00
|
|
|
os: linux
|
|
|
|
compiler: clang
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
2019-12-08 13:51:38 +01:00
|
|
|
- llvm-toolchain-trusty-8
|
2018-05-31 11:23:04 +02:00
|
|
|
packages:
|
2019-12-08 13:51:38 +01:00
|
|
|
- clang-8
|
|
|
|
- clang-tools-8
|
|
|
|
- clang-tidy-8
|
2016-05-04 22:05:40 +02:00
|
|
|
- env: BUILD_TYPE=default CURVE=tweetnacl IPv6=ON
|
|
|
|
os: linux
|
|
|
|
dist: precise
|
2016-12-26 21:30:16 +01:00
|
|
|
- env: BUILD_TYPE=coverage CURVE=tweetnacl DRAFT=enabled
|
|
|
|
os: linux
|
2020-04-18 11:06:58 +01:00
|
|
|
dist: xenial
|
2016-12-26 21:30:16 +01:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- lcov
|
2019-09-29 18:30:37 +03:00
|
|
|
- env: BUILD_TYPE=valgrind CURVE=tweetnacl DRAFT=enabled TLS=enabled
|
2016-12-26 21:30:16 +01:00
|
|
|
os: linux
|
2019-09-29 18:30:37 +03:00
|
|
|
dist: xenial
|
2016-12-26 21:30:16 +01:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- valgrind
|
2019-09-29 18:30:37 +03:00
|
|
|
- libgnutls-dev
|
2017-10-17 11:17:13 +01:00
|
|
|
- env: BUILD_TYPE=default CURVE=libsodium GSSAPI=enabled PGM=enabled NORM=enabled
|
2016-12-26 21:50:38 +01:00
|
|
|
os: linux
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
sources:
|
2017-03-03 18:04:26 +00:00
|
|
|
- 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'
|
2016-12-26 21:50:38 +01:00
|
|
|
packages:
|
2017-08-19 17:51:54 +01:00
|
|
|
- libkrb5-dev
|
2017-10-17 11:17:13 +01:00
|
|
|
- libnorm-dev
|
2017-08-19 17:54:42 +01:00
|
|
|
- libpgm-dev
|
2016-12-26 21:50:38 +01:00
|
|
|
- libsodium-dev
|
2016-12-27 12:00:10 +01:00
|
|
|
- asciidoc
|
|
|
|
- xmlto
|
2019-09-29 18:30:37 +03:00
|
|
|
- env: BUILD_TYPE=default DRAFT=enabled TLS=enabled
|
|
|
|
os: linux
|
|
|
|
dist: xenial
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- libgnutls-dev
|
2019-09-11 15:46:00 +01:00
|
|
|
- env: BUILD_TYPE=default CURVE=libsodium DRAFT=enabled GSSAPI=enabled PGM=enabled NORM=enabled TIPC=enabled USE_NSS=yes
|
2017-08-03 15:15:56 +02:00
|
|
|
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:
|
2017-08-19 17:51:54 +01:00
|
|
|
- libkrb5-dev
|
2017-10-17 11:17:13 +01:00
|
|
|
- libnorm-dev
|
2017-08-19 17:54:42 +01:00
|
|
|
- libpgm-dev
|
2017-08-03 15:15:56 +02:00
|
|
|
- libsodium-dev
|
2019-09-11 15:46:00 +01:00
|
|
|
- libnss3-dev
|
2019-12-28 16:32:46 +01:00
|
|
|
- libbsd-dev
|
2017-08-03 15:15:56 +02:00
|
|
|
- env: BUILD_TYPE=default CURVE=libsodium DRAFT=enabled
|
|
|
|
os: osx
|
2020-05-05 12:16:51 +01:00
|
|
|
- env: BUILD_TYPE=default CURVE=libsodium DRAFT=enabled ADDRESS_SANITIZER=enabled
|
2017-03-30 15:22:50 +01:00
|
|
|
os: linux
|
2020-05-05 12:16:51 +01:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- libsodium-dev
|
2017-08-04 16:29:11 +01:00
|
|
|
- env: BUILD_TYPE=android CURVE=tweetnacl
|
|
|
|
os: linux
|
|
|
|
dist: trusty
|
2019-12-08 15:47:44 +01:00
|
|
|
- env: BUILD_TYPE=cmake DO_CLANG_FORMAT_CHECK=1 CLANG_FORMAT=/usr/lib/llvm-8/bin/clang-format
|
2018-02-01 14:18:02 +01:00
|
|
|
os: linux
|
2018-02-01 16:11:10 +01:00
|
|
|
addons:
|
2019-04-06 20:59:19 +01:00
|
|
|
apt:
|
|
|
|
packages:
|
2019-12-08 15:47:44 +01:00
|
|
|
- clang-format-8
|
2018-02-12 08:01:03 +00:00
|
|
|
- env: BUILD_TYPE=default POLLER=poll
|
|
|
|
os: linux
|
|
|
|
- env: BUILD_TYPE=default POLLER=select
|
|
|
|
os: linux
|
2018-11-09 18:54:46 +00:00
|
|
|
- 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
|
2019-01-20 15:19:44 +00:00
|
|
|
- env: BUILD_TYPE=abi-compliance-checker
|
|
|
|
os: linux
|
|
|
|
dist: xenial
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- abi-dumper
|
|
|
|
- abi-compliance-checker
|
2018-05-24 13:42:09 +02:00
|
|
|
|
2015-08-16 18:55:43 +01:00
|
|
|
|
2015-08-17 17:06:56 +01:00
|
|
|
before_install:
|
2017-11-19 14:09:18 +00:00
|
|
|
- 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
|
2019-12-08 19:39:13 +01:00
|
|
|
# To allow sonar to process history information, unshallow clone first.
|
2018-05-16 09:45:52 +02:00
|
|
|
- if [ -n "$CLANG_TIDY" ] ; then
|
2019-12-08 19:39:13 +01:00
|
|
|
git fetch --unshallow ;
|
2018-05-16 09:45:52 +02:00
|
|
|
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/" ;
|
2019-12-07 10:38:22 +01:00
|
|
|
curl -L https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip -o sonar-scanner-cli.zip ;
|
2018-05-16 09:45:52 +02:00
|
|
|
unzip sonar-scanner-cli.zip ;
|
2019-12-07 10:38:22 +01:00
|
|
|
export SONAR_SCANNER_CLI_PATH="$(pwd)/sonar-scanner-4.2.0.1873-linux/bin/" ;
|
2018-05-16 09:45:52 +02:00
|
|
|
fi
|
2015-08-17 17:06:56 +01:00
|
|
|
|
2015-08-02 19:20:34 +01:00
|
|
|
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
|
2016-03-19 16:30:59 +00:00
|
|
|
- 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
|
2015-08-02 19:20:34 +01:00
|
|
|
|
2014-11-04 12:57:39 -08:00
|
|
|
# Build and check this project according to the BUILD_TYPE
|
2014-11-02 17:33:23 -08:00
|
|
|
script: ./ci_build.sh
|
2016-05-04 22:05:40 +02:00
|
|
|
|
|
|
|
# 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"
|