forked from confluentinc/librdkafka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
151 lines (144 loc) · 5.93 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
language: c
dist: trusty
cache: ccache
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" --enable-strip
- name: "RPM packages"
if: tag IS present
os: linux
compiler: gcc
env: ADDITIONAL_BUILDS="centos" SKIP_MAKE=y
- name: "Linux clang: +alpine +manylinux"
os: linux
compiler: clang
env: ADDITIONAL_BUILDS="alpine manylinux2010_x86_64" LINKAGE=std
before_script:
- ./configure --install-deps --disable-lz4-ext --prefix="$PWD/dest" --enable-werror --enable-strip
- name: "Linux clang: +static +alpine-static -gssapi"
if: tag IS present
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" --enable-strip
- name: "OSX GCC"
os: osx
compiler: gcc
env: LINKAGE=std
before_script:
- ./configure --install-deps --disable-lz4-ext --prefix="$PWD/dest" --enable-werror --enable-strip
- 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 --enable-strip
- name: "Windows MinGW-w64 Dynamic"
os: windows
env:
- LINKAGE=std
- SKIP_MAKE=y
before_install:
- source ./packaging/mingw-w64/travis-before-install.sh
before_script:
- ./packaging/mingw-w64/configure-build-msys2-mingw.sh
- name: "Windows MinGW-w64 Static"
os: windows
env:
- LINKAGE=static
- SKIP_MAKE=y
before_install:
- source ./packaging/mingw-w64/travis-before-install.sh
before_script:
- ./packaging/mingw-w64/configure-build-msys2-mingw-static.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
- name: "Linux GCC arm64: +static -gssapi"
os: linux
arch: arm64
dist: bionic
compiler: gcc
env: LINKAGE=std
before_script:
- ./configure --CFLAGS="-std=c99" --CXXFLAGS="-std=c++98" --disable-gssapi --install-deps --enable-static --disable-lz4-ext --prefix="$PWD/dest" --enable-strip
- name: "Linux GCC s390x: +devel"
os: linux
arch: s390x
dist: bionic
compiler: gcc
env: NO_ARTIFACTS=y
before_script:
- sudo apt install -y gdb
- ./configure --enable-devel --disable-lz4-ext --prefix="$PWD/dest"
install:
- ccache -s || echo "CCache is not available."
- rm -rf artifacts dest
- mkdir dest artifacts
- 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
before_cache:
- if [[ $TRAVIS_OS_NAME == windows ]]; then $msys2 pacman --sync --clean --noconfirm ; fi
script:
- if [[ $SKIP_MAKE != y ]]; then (make -j2 all examples check && make -j2 -C tests build) || travis_terminate 1 ; fi
- if [[ $SKIP_MAKE != y && $RUN_INTEGRATION_TESTS != y ]]; then make -C tests run_local_quick ; fi
- if [[ $SKIP_MAKE != y ]]; then make install || travis_terminate 1 ; fi
- if [[ -z $NO_ARTIFACTS ]]; then (cd dest && tar cvzf ../artifacts/librdkafka-${CC}.tar.gz .) ; fi
- if [[ -n $TRAVIS_TAG ]]; then for distro in $ADDITIONAL_BUILDS ; do packaging/tools/distro-build.sh $distro --enable-strip || travis_terminate 1 ; done ; fi
- if [[ $COPYRIGHT_CHECK == y ]]; then make copyright-check || travis_terminate 1; fi
- if [[ $DOC_CHECK == y ]]; then make docs || travis_terminate 1 ; fi
- 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
- 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-${TRAVIS_CPU_ARCH}__tag-${TRAVIS_TAG}__sha-${TRAVIS_COMMIT}__bid-${TRAVIS_JOB_NUMBER}__lnk-${LINKAGE}
on:
repo: edenhill/librdkafka
all_branches: true
tags: true
condition: $NO_ARTIFACTS != y