forked from confluentinc/librdkafka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
125 lines (117 loc) · 4.5 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
language: c
dist: trusty
sudo: false
cache: ccache
env:
global:
- ARCH=x64
addons:
apt:
packages:
- python3
- python3-pip
- python3-setuptools
# required by openssl installer
- perl
matrix:
include:
- name: "Linux GCC: +Debian packages +BuiltinRegex +Strict"
os: linux
compiler: gcc
env: ADDITIONAL_BUILDS="debian" LINKAGE=std
before_script:
- ./configure --CFLAGS="-std=c99" --CXXFLAGS="-std=c++98" --install-deps --disable-lz4-ext --disable-regex-ext --prefix="$PWD/dest"
- name: "RPM packages"
os: linux
compiler: gcc
env: ADDITIONAL_BUILDS="centos" SKIP_MAKE=y
- name: "Linux clang: +alpine"
os: linux
compiler: clang
env: ADDITIONAL_BUILDS="alpine" LINKAGE=std
before_script:
- ./configure --install-deps --disable-lz4-ext --prefix="$PWD/dest" --enable-werror
- name: "Linux clang: +static +alpine-static"
os: linux
compiler: clang
env: ADDITIONAL_BUILDS="alpine-static" LINKAGE=static
before_script:
- ./configure --enable-static --install-deps --source-deps-only --disable-gssapi --disable-lz4-ext --prefix="$PWD/dest"
- name: "OSX GCC"
os: osx
compiler: gcc
env: LINKAGE=std
before_script:
- ./configure --install-deps --disable-lz4-ext --prefix="$PWD/dest" --enable-werror
- name: "OSX clang: +static"
os: osx
# Use an older image to disable syslog and for broader compatibility
# with old and new osx versions.
osx_image: xcode9.2
compiler: clang
env: LINKAGE=static HOMEBREW_NO_AUTO_UPDATE=1
before_script:
- ./configure --install-deps --disable-lz4-ext --prefix="$PWD/dest" --enable-static --disable-syslog
- name: "Windows MinGW-w64"
os: windows
env:
- SKIP_MAKE=y
before_install:
- source ./packaging/mingw-w64/travis-before-install.sh
before_script:
- ./packaging/mingw-w64/configure-build-msys2-mingw.sh
- name: "Linux GCC: +integration-tests +copyright-check +doc-check"
os: linux
dist: xenial
compiler: gcc
env: NO_ARTIFACTS=y RUN_INTEGRATION_TESTS=y COPYRIGHT_CHECK=y DOC_CHECK=y
before_script:
- 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
- sudo pip3 install -r tests/requirements.txt
- sudo apt update
- sudo apt install -y doxygen graphviz gdb
- ./configure --install-deps --disable-lz4-ext --prefix="$PWD/dest"
- name: "Linux GCC: +devel +code-cov"
os: linux
dist: bionic
compiler: gcc
env: NO_ARTIFACTS=y
before_script:
- sudo apt update
- sudo apt install -y gdb
- ./configure --enable-devel --disable-lz4-ext --prefix="$PWD/dest"
- ./packaging/tools/rdutcoverage.sh
install:
- ccache -s || echo "CCache is not available."
- rm -rf artifacts dest
- mkdir dest artifacts
before_cache:
- if [[ $TRAVIS_OS_NAME == windows ]]; then $msys2 pacman --sync --clean --noconfirm ; fi
before_script:
script:
- if [[ $SKIP_MAKE != y ]]; then make -j2 all examples check && make -j2 -C tests build ; fi
- if [[ $SKIP_MAKE != y && $RUN_INTEGRATION_TESTS != y ]]; then make -C tests run_local_quick ; fi
- if [[ $SKIP_MAKE != y ]]; then make install ; fi
- if [[ -z $NO_ARTIFACTS ]]; then (cd dest && tar cvzf ../artifacts/librdkafka-${CC}.tar.gz .) ; fi
- for distro in $ADDITIONAL_BUILDS ; do packaging/tools/distro-build.sh $distro || exit 1 ; done
- if [[ $COPYRIGHT_CHECK == y ]]; then make copyright-check ; fi
- if [[ $DOC_CHECK == y ]]; then make docs ; fi
- if [[ $RUN_INTEGRATION_TESTS == y ]]; then (cd tests && travis_retry ./interactive_broker_version.py -c "make quick" 2.4.0) ; fi
- if [[ -f tests/core ]] && (which gdb >/dev/null); then (cd tests && LD_LIBRARY_PATH=../src:../src-cpp gdb ./test-runner core < backtrace.gdb) ; fi
deploy:
provider: s3
access_key_id:
secure: "m8FQrFesK0xSS1wHo2S7cuWkpO7VB91dBmj1XIYLRXZSkbMpKBJATcFcHNbrAp3slEp7wLAnT7CHrQ4ccQi4H68Z7mjEwdq4VKRE+7zqJ/feK8MOFNeSHWLQzgwLUYlRlc9+tzLNwxMuL2ilWgdjKOArsUVHo9LEKNfQ3T6zCJU="
secret_access_key:
secure: "GE6O0gk5VRervntCKAmczfBdSOvbr9bouJ15H2rpcOgHi8KTDEjI/NS69eLiRRSHBCARtcRqN4wfgy+/dn7D1VklY8a1rAKu02wGjw+fq7k7GVSSmynR/aF619R4SIABsaAhNCwswXnLHuLlq8HFk5ulG3z8DUvYBczB45bWZfQ="
bucket: librdkafka-ci-packages
region: us-west-1
skip_cleanup: true
local-dir: artifacts
upload-dir: librdkafka/p-librdkafka__bld-travis__plat-${TRAVIS_OS_NAME}__arch-${ARCH}__tag-${TRAVIS_TAG}__sha-${TRAVIS_COMMIT}__bid-${TRAVIS_JOB_NUMBER}__lnk-${LINKAGE}
on:
repo: edenhill/librdkafka
all_branches: true
tags: true
on: $NO_ARTIFACTS != y