2013-05-20 00:04:40 +04:00
language : c
2019-06-19 16:08:47 +03:00
dist : trusty
2016-02-03 15:31:27 +03:00
cache : ccache
2019-06-28 23:12:26 +03:00
addons :
apt :
packages :
2020-04-29 10:19:32 +03:00
- python3
- python3-pip
- python3-setuptools
2019-06-28 23:12:26 +03:00
# required by openssl installer
- perl
2021-08-26 17:40:24 +03:00
env :
global :
2021-09-15 20:07:01 +03:00
- secure : "q7DQ6KCiQyMEpBf8mxPFl6hY9JEoaOUdIaLh1IuYn5TctiNIA+J6O/bL/dyDSy2Yjor61WAiiMOh77eMykm1wPl72kqjR97ui0uCq7BQQn4MWtKrXXi0eWLF3bYt2FbUGJZvrM0xeoWzSYT6np7CKu8ssgL8Fvr4bmf152IpdQ8="
- secure : "XpFExynXwbSr6vTuGsZVyqF4sti+UmRxX2sztjpTdaIH0yo60d6KYT0SRW7BLdZNA6/XI1l1GPTAwcDwTM1XasnnFrD7i88uZsAneA/xEgZTGXtnVVWPJAcVoX/75Rxeibc8CfSc5MO9QmBMiGGuI3S6HHCj4RzCJacBhOjIhfA="
2020-04-29 09:24:55 +03:00
2019-06-19 16:08:47 +03:00
matrix :
include :
2020-08-27 11:29:14 +03:00
- name : "Linux GCC: +Debian packages +BuiltinRegex +Strict"
2021-08-17 17:06:14 +03:00
if : tag IS present
2019-06-19 16:08:47 +03:00
os : linux
compiler : gcc
2020-04-30 14:45:54 +03:00
env : ADDITIONAL_BUILDS="debian" LINKAGE=std
2019-06-19 16:08:47 +03:00
before_script :
2021-08-20 09:29:23 +03:00
- ./configure --install-deps --disable-lz4-ext --disable-regex-ext --prefix="$PWD/dest" --enable-strip
2021-08-17 17:06:14 +03:00
2020-04-30 14:45:54 +03:00
- name : "RPM packages"
2021-03-25 16:14:46 +03:00
if : tag IS present
2020-04-30 14:45:54 +03:00
os : linux
compiler : gcc
env : ADDITIONAL_BUILDS="centos" SKIP_MAKE=y
2021-08-17 17:06:14 +03:00
2021-09-28 12:57:40 +03:00
- name : "Linux clang: +alpine +manylinux +werror"
2019-06-19 16:08:47 +03:00
os : linux
compiler : clang
2021-01-15 15:29:54 +03:00
env : ADDITIONAL_BUILDS="alpine manylinux2010_x86_64" LINKAGE=std
2019-06-19 16:08:47 +03:00
before_script :
2020-12-22 13:11:20 +03:00
- ./configure --install-deps --disable-lz4-ext --prefix="$PWD/dest" --enable-werror --enable-strip
2021-08-17 17:06:14 +03:00
2020-12-31 13:17:51 +03:00
- name : "Linux clang: +static +alpine-static -gssapi"
2021-03-25 16:14:46 +03:00
if : tag IS present
2019-06-20 13:06:54 +03:00
os : linux
compiler : clang
env : ADDITIONAL_BUILDS="alpine-static" LINKAGE=static
before_script :
2020-12-22 13:11:20 +03:00
- ./configure --enable-static --install-deps --source-deps-only --disable-gssapi --disable-lz4-ext --prefix="$PWD/dest" --enable-strip
2021-08-17 17:06:14 +03:00
2021-09-28 12:57:40 +03:00
- name : "OSX GCC: +werror"
2021-08-17 17:06:14 +03:00
if : tag IS PRESENT
2019-06-19 16:08:47 +03:00
os : osx
compiler : gcc
2021-09-28 12:57:40 +03:00
env : LINKAGE=std HOMEBREW_NO_AUTO_UPDATE=1
2019-06-19 16:08:47 +03:00
before_script :
2021-09-28 12:57:40 +03:00
- ./configure --install-deps --source-deps-only --disable-lz4-ext --prefix="$PWD/dest" --enable-werror --enable-strip
2021-08-17 17:06:14 +03:00
2019-06-19 16:08:47 +03:00
- name : "OSX clang: +static"
2021-09-28 13:00:04 +03:00
if : tag IS PRESENT
2019-06-19 16:08:47 +03:00
os : osx
compiler : clang
2021-09-28 12:57:40 +03:00
env : LINKAGE=static HOMEBREW_NO_AUTO_UPDATE=1
2019-06-19 16:08:47 +03:00
before_script :
2021-09-28 12:57:40 +03:00
- ./configure --install-deps --source-deps-only --disable-lz4-ext --prefix="$PWD/dest" --enable-static --enable-strip
2021-08-17 17:06:14 +03:00
2021-04-07 09:30:24 +03:00
- name : "Windows MinGW-w64 Dynamic"
2021-08-17 17:06:14 +03:00
if : tag IS PRESENT
2020-04-29 09:24:55 +03:00
os : windows
env :
2021-04-28 12:16:57 +03:00
- LINKAGE=std
2020-04-29 09:24:55 +03:00
- SKIP_MAKE=y
before_install :
- source ./packaging/mingw-w64/travis-before-install.sh
before_script :
- ./packaging/mingw-w64/configure-build-msys2-mingw.sh
2021-08-17 17:06:14 +03:00
2021-04-07 09:30:24 +03:00
- name : "Windows MinGW-w64 Static"
os : windows
env :
2021-04-28 12:16:57 +03:00
- LINKAGE=static
2021-04-07 09:30:24 +03:00
- SKIP_MAKE=y
before_install :
- source ./packaging/mingw-w64/travis-before-install.sh
before_script :
- ./packaging/mingw-w64/configure-build-msys2-mingw-static.sh
2021-08-17 17:06:14 +03:00
2021-08-20 09:29:23 +03:00
- name : "Linux GCC: +integration-tests +copyright-check +doc-check +devel +code-cov +c99 +c++98"
2019-06-19 16:08:47 +03:00
os : linux
2019-07-16 17:22:46 +03:00
dist : xenial
2019-06-19 16:08:47 +03:00
compiler : gcc
2019-09-01 11:00:00 +03:00
env : NO_ARTIFACTS=y RUN_INTEGRATION_TESTS=y COPYRIGHT_CHECK=y DOC_CHECK=y
2019-06-19 16:08:47 +03:00
before_script :
2019-07-16 17:22:46 +03:00
- wget -O rapidjson-dev.deb https://launchpad.net/ubuntu/+archive/primary/+files/rapidjson-dev_1.1.0+dfsg2-3_all.deb
- sudo dpkg -i rapidjson-dev.deb
2020-04-29 10:19:32 +03:00
- sudo pip3 install -r tests/requirements.txt
2019-09-01 11:00:00 +03:00
- sudo apt update
2020-03-04 10:48:15 +03:00
- sudo apt install -y doxygen graphviz gdb
2021-08-20 09:29:23 +03:00
- ./configure --CFLAGS="-std=c99" --CXXFLAGS="-std=c++98" --install-deps --enable-devel --disable-lz4-ext --prefix="$PWD/dest"
2019-11-05 11:58:54 +03:00
- ./packaging/tools/rdutcoverage.sh
2021-08-17 17:06:14 +03:00
2020-12-31 13:17:51 +03:00
- name : "Linux GCC arm64: +static -gssapi"
2020-12-09 20:23:49 +03:00
os : linux
arch : arm64
2020-12-31 14:06:34 +03:00
dist : bionic
2020-12-09 20:23:49 +03:00
compiler : gcc
env : LINKAGE=std
before_script :
2021-08-20 09:29:23 +03:00
- ./configure --disable-gssapi --install-deps --source-deps-only --enable-static --disable-lz4-ext --prefix="$PWD/dest" --enable-strip
2021-08-17 17:06:14 +03:00
2020-11-02 18:31:22 +03:00
- name : "Linux GCC s390x: +devel"
2021-09-28 13:00:04 +03:00
if : tag IS PRESENT
2020-11-02 18:31:22 +03:00
os : linux
2020-11-07 21:43:54 +03:00
arch : s390x
2020-11-02 18:31:22 +03:00
dist : bionic
compiler : gcc
env : NO_ARTIFACTS=y
before_script :
- sudo apt install -y gdb
- ./configure --enable-devel --disable-lz4-ext --prefix="$PWD/dest"
2020-11-07 21:43:54 +03:00
2019-06-19 16:08:47 +03:00
install :
2017-02-21 00:34:50 +03:00
- ccache -s || echo "CCache is not available."
2019-06-19 16:08:47 +03:00
- rm -rf artifacts dest
- mkdir dest artifacts
2020-12-31 14:06:34 +03:00
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then sudo apt update || true; fi
- if [[ $TRAVIS_DIST == "trusty" || $TRAVIS_DIST == "xenial" ]]; then sudo apt-get install -y libssl1.0.0 libssl-dev ; fi
- if [[ $TRAVIS_DIST == "bionic" || $TRAVIS_DIST == "focal" ]]; then sudo apt-get install -y libssl1.1 libssl-dev ; fi
2021-08-26 17:40:24 +03:00
- if [[ -n $DOCKER_PASSWORD && $TRAVIS_OS_NAME == "linux" ]]; then echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin ; fi
2019-06-19 16:08:47 +03:00
2020-04-29 09:24:55 +03:00
before_cache :
- if [[ $TRAVIS_OS_NAME == windows ]]; then $msys2 pacman --sync --clean --noconfirm ; fi
2014-03-16 11:53:42 +04:00
script :
2020-11-07 21:43:54 +03:00
- if [[ $SKIP_MAKE != y ]]; then (make -j2 all examples check && make -j2 -C tests build) || travis_terminate 1 ; fi
2021-08-17 17:06:14 +03:00
# Tag: Run quick local test suite on
# No tag: Run unit tests.
- if [[ $SKIP_MAKE != y && $RUN_INTEGRATION_TESTS != y ]]; then if [[ -n $TRAVIS_TAG ]]; then make -C tests run_local_quick; else make -C tests unit ; fi ; fi
2020-11-07 21:43:54 +03:00
- if [[ $SKIP_MAKE != y ]]; then make install || travis_terminate 1 ; fi
2019-06-19 16:08:47 +03:00
- if [[ -z $NO_ARTIFACTS ]]; then (cd dest && tar cvzf ../artifacts/librdkafka-${CC}.tar.gz .) ; fi
2021-03-25 16:14:46 +03:00
- if [[ -n $TRAVIS_TAG ]]; then for distro in $ADDITIONAL_BUILDS ; do packaging/tools/distro-build.sh $distro --enable-strip || travis_terminate 1 ; done ; fi
2020-11-07 21:43:54 +03:00
- if [[ $COPYRIGHT_CHECK == y ]]; then make copyright-check || travis_terminate 1; fi
- if [[ $DOC_CHECK == y ]]; then make docs || travis_terminate 1 ; fi
2021-04-19 17:34:40 +03:00
- if [[ -z $TRAVIS_TAG && $RUN_INTEGRATION_TESTS == y ]]; then (cd tests && travis_retry ./interactive_broker_version.py -c "make quick" 2.7.0) || travis_terminate 1 ; fi
2020-03-04 10:48:15 +03:00
- if [[ -f tests/core ]] && (which gdb >/dev/null); then (cd tests && LD_LIBRARY_PATH=../src:../src-cpp gdb ./test-runner core < backtrace.gdb) ; fi
2021-09-15 21:18:54 +03:00
- sha256sum artifacts/* || true
2019-06-19 16:08:47 +03:00
2017-02-16 23:20:48 +03:00
deploy :
provider : s3
access_key_id :
2021-09-15 20:07:01 +03:00
secure : "sRsKY1YoPDb3b+9hHnBv4tDSdyB/FraYEKI1/+aKmqWxvOI6xYYFFP0Tvn6f4Rgk0wzYmxO/5V+cR+fmKxVhb1pItFXOdVqML0ilOTP5gtlOPUeHu9fytqw3q7GgMV8JR75g60BNVko9vZegtd2LIq6FWzAIvPSUJOAw7qekjGU="
2017-02-16 23:20:48 +03:00
secret_access_key :
2021-09-15 20:07:01 +03:00
secure : "ZDjH6Z9CJr2yo7Splm+0xpo30QbO+cpeqxFUn1d9XOyLZQ0dapr6iboxdPlJaCOIhqVUWXS0IJgFwCW+5vWb9Za6tFumP1MtJGiwE6bqr820G8E02umwSvbNijr44h+EyxQcxP71Ljjk22Pfu7SLKWqMJ/iIzcYe6Z6Sz8obSWA="
2017-02-16 23:20:48 +03:00
bucket : librdkafka-ci-packages
region : us-west-1
2021-04-16 18:12:47 +03:00
skip_cleanup : true
2017-02-16 23:20:48 +03:00
local-dir : artifacts
2020-12-22 14:06:41 +03:00
upload-dir : librdkafka/p-librdkafka__bld-travis__plat-${TRAVIS_OS_NAME}__arch-${TRAVIS_CPU_ARCH}__tag-${TRAVIS_TAG}__sha-${TRAVIS_COMMIT}__bid-${TRAVIS_JOB_NUMBER}__lnk-${LINKAGE}
2017-02-16 23:20:48 +03:00
on :
repo : edenhill/librdkafka
2017-02-21 02:41:10 +03:00
all_branches : true
2017-09-13 12:38:05 +03:00
tags : true
2021-03-25 16:14:46 +03:00
condition : $NO_ARTIFACTS != y