forked from confluentinc/librdkafka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
170 lines (153 loc) · 6.67 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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
language: c
dist: xenial
cache: ccache
addons:
apt:
packages:
- python3
- python3-pip
- python3-setuptools
# required by openssl installer
- perl
env:
global:
- secure: "q7DQ6KCiQyMEpBf8mxPFl6hY9JEoaOUdIaLh1IuYn5TctiNIA+J6O/bL/dyDSy2Yjor61WAiiMOh77eMykm1wPl72kqjR97ui0uCq7BQQn4MWtKrXXi0eWLF3bYt2FbUGJZvrM0xeoWzSYT6np7CKu8ssgL8Fvr4bmf152IpdQ8="
- secure: "XpFExynXwbSr6vTuGsZVyqF4sti+UmRxX2sztjpTdaIH0yo60d6KYT0SRW7BLdZNA6/XI1l1GPTAwcDwTM1XasnnFrD7i88uZsAneA/xEgZTGXtnVVWPJAcVoX/75Rxeibc8CfSc5MO9QmBMiGGuI3S6HHCj4RzCJacBhOjIhfA="
matrix:
include:
- name: "Linux GCC: +Debian packages +BuiltinRegex +Strict"
if: tag IS present
os: linux
compiler: gcc
env:
- ADDITIONAL_BUILDS="debian"
- ADDITIONAL_BUILD_FLAGS="--source-deps-only"
- LINKAGE=std
before_script:
- ./configure --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 +werror"
os: linux
compiler: clang
env: ADDITIONAL_BUILDS="alpine manylinux2010_x86_64" ADDITIONAL_BUILD_FLAGS="--source-deps-only" 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"
if: tag IS PRESENT
os: osx
compiler: gcc
env: LINKAGE=std HOMEBREW_NO_AUTO_UPDATE=1
before_script:
- ./configure --install-deps --source-deps-only --disable-lz4-ext --prefix="$PWD/dest" --enable-strip
- name: "OSX clang: +static"
if: tag IS PRESENT
os: osx
compiler: clang
env: LINKAGE=static HOMEBREW_NO_AUTO_UPDATE=1
before_script:
- ./configure --install-deps --source-deps-only --disable-lz4-ext --prefix="$PWD/dest" --enable-static --enable-strip
- name: "Windows MinGW-w64 Dynamic"
if: tag IS PRESENT
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
- ./packaging/mingw-w64/run-tests.sh
- name: "Linux GCC: +integration-tests +copyright-check +doc-check +devel +code-cov +c99 +c++98"
os: linux
dist: xenial
language: python
python: 3.8
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
- python -m pip install -U pip
- python -m pip -V
- python -m pip install -r tests/requirements.txt
- sudo apt update
- sudo apt install -y doxygen graphviz gdb
- ./configure --CFLAGS="-std=c99" --CXXFLAGS="-std=c++98" --install-deps --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 --disable-gssapi --install-deps --source-deps-only --enable-static --disable-lz4-ext --prefix="$PWD/dest" --enable-strip
- name: "Linux GCC s390x: +devel"
if: tag IS PRESENT
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
- if [[ -n $DOCKER_PASSWORD && $TRAVIS_OS_NAME == "linux" ]]; then echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin ; 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
# 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
- 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 $ADDITIONAL_BUILD_FLAGS --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.8.1) || 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
- sha256sum artifacts/* || true
deploy:
provider: s3
access_key_id:
secure: "sRsKY1YoPDb3b+9hHnBv4tDSdyB/FraYEKI1/+aKmqWxvOI6xYYFFP0Tvn6f4Rgk0wzYmxO/5V+cR+fmKxVhb1pItFXOdVqML0ilOTP5gtlOPUeHu9fytqw3q7GgMV8JR75g60BNVko9vZegtd2LIq6FWzAIvPSUJOAw7qekjGU="
secret_access_key:
secure: "ZDjH6Z9CJr2yo7Splm+0xpo30QbO+cpeqxFUn1d9XOyLZQ0dapr6iboxdPlJaCOIhqVUWXS0IJgFwCW+5vWb9Za6tFumP1MtJGiwE6bqr820G8E02umwSvbNijr44h+EyxQcxP71Ljjk22Pfu7SLKWqMJ/iIzcYe6Z6Sz8obSWA="
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