blob: 73a7615695ee4a2eedea45689ed49c7cab491e40 [file] [log] [blame]
Evan Nemerson3e33d762016-06-23 12:20:37 -07001language: c
Evan Nemerson01f9cf92016-07-28 20:13:29 -07002sudo: false
Evan Nemerson3e33d762016-06-23 12:20:37 -07003matrix:
Evan Nemerson37be4e32016-06-28 20:35:16 -07004 include:
5 ###
6 ## Linux builds using various versions of GCC.
7 ###
8 - os: linux
9 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
10 addons:
11 apt:
12 sources:
13 - ubuntu-toolchain-r-test
14 packages:
15 - gcc-6
16 - g++-6
17 - os: linux
18 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5
19 addons:
20 apt:
21 sources:
22 - ubuntu-toolchain-r-test
23 packages:
24 - gcc-5
25 - g++-5
26 - os: linux
27 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9
28 addons:
29 apt:
30 sources:
31 - ubuntu-toolchain-r-test
32 packages:
33 - gcc-4.9
34 - g++-4.9
35 - os: linux
36 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8
37 addons:
38 apt:
39 sources:
40 - ubuntu-toolchain-r-test
41 packages:
42 - gcc-4.8
43 - g++-4.8
44 - os: linux
45 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7
46 addons:
47 apt:
48 sources:
49 - ubuntu-toolchain-r-test
50 packages:
51 - gcc-4.7
52 - g++-4.7
53 - os: linux
54 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6
55 addons:
56 apt:
57 sources:
58 - ubuntu-toolchain-r-test
59 packages:
60 - gcc-4.6
61 - g++-4.6
Evan Nemerson97b846f2016-07-26 20:59:28 -070062 # - os: linux
63 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5
64 # addons:
65 # apt:
66 # sources:
67 # - ubuntu-toolchain-r-test
68 # packages:
69 # - gcc-4.5
70 # - g++-4.5
Evan Nemerson37be4e32016-06-28 20:35:16 -070071 - os: linux
72 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
73 addons:
74 apt:
75 sources:
76 - ubuntu-toolchain-r-test
77 packages:
78 - gcc-4.4
79 - g++-4.4
Evan Nemerson3e33d762016-06-23 12:20:37 -070080
Evan Nemerson37be4e32016-06-28 20:35:16 -070081 ###
Evan Nemerson1d15c952016-07-22 19:14:29 -070082 ## clang on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070083 ###
84 - os: linux
Evan Nemerson1d15c952016-07-22 19:14:29 -070085 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8
86 addons:
87 apt:
88 sources:
89 - llvm-toolchain-precise-3.8
90 - ubuntu-toolchain-r-test
91 packages:
92 - clang-3.8
93 - os: linux
94 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.7 CXX_COMPILER=clang++-3.7
95 addons:
96 apt:
97 sources:
98 - llvm-toolchain-precise-3.7
99 - ubuntu-toolchain-r-test
100 packages:
101 - clang-3.7
102 - os: linux
103 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.6 CXX_COMPILER=clang++-3.6
104 addons:
105 apt:
106 sources:
107 - llvm-toolchain-precise-3.6
108 - ubuntu-toolchain-r-test
109 packages:
110 - clang-3.6
111 - os: linux
112 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5
113 addons:
114 apt:
115 sources:
116 - llvm-toolchain-precise-3.5
117 - ubuntu-toolchain-r-test
118 packages:
119 - clang-3.5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700120
121 ###
Evan Nemersond03c38d2017-02-19 01:06:13 -0800122 ## PGI Community Edition on Linux
123 ###
124 - os: linux
125 env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++
126
127 ###
Evan Nemerson37be4e32016-06-28 20:35:16 -0700128 ## Python build on Linux
129 ###
130 - os: linux
131 env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6
132 addons:
133 apt:
134 sources:
135 - ubuntu-toolchain-r-test
136 packages:
137 - gcc-6
138 - g++-6
139
140 ###
141 ## CMake on OS X
142 ##
143 ## These all work, but it seems unnecessary to actually build them
144 ## all since we already test all these versions of GCC on Linux.
145 ## We'll just test 4.4 and the most recent version.
146 ###
Eugene Kliuchnikovea9c51e2016-09-20 10:11:46 +0200147 # - os: osx
148 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
149 - os: osx
150 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700151 # - os: osx
152 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9
153 # - os: osx
154 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8
155 # - os: osx
156 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7
157 # - os: osx
158 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6
159 # - os: osx
160 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5
161 - os: osx
Eugene Kliuchnikov678f8622016-10-20 14:16:00 +0200162 osx_image: beta-xcode6.2
Evan Nemerson37be4e32016-06-28 20:35:16 -0700163 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
164
165 ###
166 ## Python OS X builds
167 ###
168 - os: osx
Eugene Kliuchnikovdb4cfc12016-10-12 15:08:41 +0200169 env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=2.7.12 C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700170 - os: osx
Eugene Kliuchnikovdb4cfc12016-10-12 15:08:41 +0200171 env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.4.4 C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700172 - os: osx
Eugene Kliuchnikovdb4cfc12016-10-12 15:08:41 +0200173 env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.5.2 C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700174
175 ###
176 ## Sanitizers
Evan Nemerson37be4e32016-06-28 20:35:16 -0700177 ###
Evan Nemerson45862fc2016-07-22 20:09:09 -0700178 - os: linux
Evan Nemerson26a59352016-07-26 08:22:58 -0700179 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=address
Evan Nemerson45862fc2016-07-22 20:09:09 -0700180 addons:
181 apt:
182 sources:
183 - ubuntu-toolchain-r-test
Evan Nemerson26a59352016-07-26 08:22:58 -0700184 - llvm-toolchain-precise-3.8
Evan Nemerson45862fc2016-07-22 20:09:09 -0700185 packages:
Evan Nemerson26a59352016-07-26 08:22:58 -0700186 - clang-3.8
187 - os: linux
188 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=thread
189 addons:
190 apt:
191 sources:
192 - ubuntu-toolchain-r-test
193 - llvm-toolchain-precise-3.8
194 packages:
195 - clang-3.8
196 - os: linux
197 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer"
198 addons:
199 apt:
200 sources:
201 - ubuntu-toolchain-r-test
202 - llvm-toolchain-precise-3.8
203 packages:
204 - clang-3.8
Evan Nemerson37be4e32016-06-28 20:35:16 -0700205
Evan Nemerson03657e82016-07-28 13:31:09 -0700206 ###
207 ## mingw
208 ###
209 - os: linux
210 env: BUILD_SYSTEM=cmake C_COMPILER=x86_64-w64-mingw32-gcc CXX_COMPILER=x86_64-w64-mingw32-g++ RC_COMPILER=x86_64-w64-mingw32-windres CROSS_COMPILE=yes
211 addons:
212 apt:
213 sources:
214 - ubuntu-toolchain-r-test
215 - george-edison55-precise-backports
216 packages:
217 - binutils-mingw-w64-x86-64
218 - g++-mingw-w64-x86-64
219 - gcc-mingw-w64-x86-64
220 - binutils-mingw-w64-x86-64
221 - wine
222 # Because 2.8.6 passes -rdynamic to the linker, which breaks the build.
223 - cmake
224 - cmake-data
225
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +0100226 - os: linux
227 env: BUILD_SYSTEM=maven
228 language: java
229
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100230 - os: linux
231 dist: trusty
232 sudo: required
Eugene Kliuchnikove51eae52017-06-22 10:58:13 +0200233 language: java
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100234 env: BUILD_SYSTEM=bazel
235 addons:
236 apt:
237 sources:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200238 - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
239 key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100240 - ubuntu-toolchain-r-test
241 packages:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200242 - oracle-java8-installer
243 - bazel
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100244
245 - os: osx
246 env: BUILD_SYSTEM=bazel
247
Evan Nemerson37be4e32016-06-28 20:35:16 -0700248before_install:
249###
Evan Nemerson26a59352016-07-26 08:22:58 -0700250## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700251## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
252## here (after Travis has set CC/CXX).
253###
254- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
255- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200256- scripts/.travis.sh before_install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100257install:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200258- scripts/.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100259script:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200260- scripts/.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100261after_success:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200262- scripts/.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700263
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100264before_deploy:
Cosimo Lupo13b8e7f2016-08-10 18:50:40 +0100265- if [ "${BUILD_SYSTEM}" = "python" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then export WHEELS=$(ls ./dist/*.whl); fi
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200266- scripts/.travis.sh before_deploy
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100267
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200268deploy:
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100269- provider: releases
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200270 api_key:
271 secure: YcCBi6W/w4dtKCa59Wfm8L5lGWvK7KxaFNDr3yh1Hz5aStXXf758pEMHGewnlbfbwuj5a3SjBb1nLp1M69OQJfxm442uXBaBKo52PM9PPbD7NjvbNIso73pqcSODXQXKuZxDFpEhfuDTVq3hUkUqiwhChWhrFucJsSL51i7qSss=
Evan Nemerson3e33d762016-06-23 12:20:37 -0700272 file: "${WHEELS}"
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200273 skip_cleanup: true
274 on:
Evan Nemerson3e33d762016-06-23 12:20:37 -0700275 repo: "google/brotli"
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200276 tags: true
Cosimo Lupo11dc16b2016-08-10 19:29:48 +0100277 condition: "${BUILD_SYSTEM} = python && ${TRAVIS_OS_NAME} = osx"
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100278- provider: bintray
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200279 file: "scripts/.bintray.json"
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100280 user: "eustas"
281 key:
282 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
283 on:
284 condition: "${BUILD_SYSTEM} = bazel"
285 skip_cleanup: true