blob: 2f26eaa021144c5f1c85499b10356a75a0740925 [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 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100128 ## Python 2.7 and 3.6 builds on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -0700129 ###
130 - os: linux
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100131 language: python
132 python: 2.7
133 env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6
134 addons:
135 apt:
136 sources:
137 - ubuntu-toolchain-r-test
138 packages:
139 - gcc-6
140 - g++-6
141 - os: linux
142 language: python
143 python: 3.6
Evan Nemerson37be4e32016-06-28 20:35:16 -0700144 env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6
145 addons:
146 apt:
147 sources:
148 - ubuntu-toolchain-r-test
149 packages:
150 - gcc-6
151 - g++-6
152
153 ###
154 ## CMake on OS X
155 ##
156 ## These all work, but it seems unnecessary to actually build them
157 ## all since we already test all these versions of GCC on Linux.
158 ## We'll just test 4.4 and the most recent version.
159 ###
Eugene Kliuchnikovea9c51e2016-09-20 10:11:46 +0200160 # - os: osx
161 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
162 - os: osx
163 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700164 # - os: osx
165 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9
166 # - os: osx
167 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8
168 # - os: osx
169 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7
170 # - os: osx
171 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6
172 # - os: osx
173 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5
174 - os: osx
Eugene Kliuchnikov678f8622016-10-20 14:16:00 +0200175 osx_image: beta-xcode6.2
Evan Nemerson37be4e32016-06-28 20:35:16 -0700176 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
177
178 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100179 ## Python 2.7 OS X build (using the system /usr/bin/python)
Evan Nemerson37be4e32016-06-28 20:35:16 -0700180 ###
181 - os: osx
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100182 env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700183
184 ###
185 ## Sanitizers
Evan Nemerson37be4e32016-06-28 20:35:16 -0700186 ###
Evan Nemerson45862fc2016-07-22 20:09:09 -0700187 - os: linux
Evan Nemerson26a59352016-07-26 08:22:58 -0700188 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=address
Evan Nemerson45862fc2016-07-22 20:09:09 -0700189 addons:
190 apt:
191 sources:
192 - ubuntu-toolchain-r-test
Evan Nemerson26a59352016-07-26 08:22:58 -0700193 - llvm-toolchain-precise-3.8
Evan Nemerson45862fc2016-07-22 20:09:09 -0700194 packages:
Evan Nemerson26a59352016-07-26 08:22:58 -0700195 - clang-3.8
196 - os: linux
197 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=thread
198 addons:
199 apt:
200 sources:
201 - ubuntu-toolchain-r-test
202 - llvm-toolchain-precise-3.8
203 packages:
204 - clang-3.8
205 - os: linux
206 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer"
207 addons:
208 apt:
209 sources:
210 - ubuntu-toolchain-r-test
211 - llvm-toolchain-precise-3.8
212 packages:
213 - clang-3.8
Evan Nemerson37be4e32016-06-28 20:35:16 -0700214
Evan Nemerson03657e82016-07-28 13:31:09 -0700215 ###
216 ## mingw
217 ###
218 - os: linux
219 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
220 addons:
221 apt:
222 sources:
223 - ubuntu-toolchain-r-test
224 - george-edison55-precise-backports
225 packages:
226 - binutils-mingw-w64-x86-64
227 - g++-mingw-w64-x86-64
228 - gcc-mingw-w64-x86-64
229 - binutils-mingw-w64-x86-64
230 - wine
231 # Because 2.8.6 passes -rdynamic to the linker, which breaks the build.
232 - cmake
233 - cmake-data
234
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +0100235 - os: linux
236 env: BUILD_SYSTEM=maven
237 language: java
238
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100239 - os: linux
240 dist: trusty
241 sudo: required
Eugene Kliuchnikove51eae52017-06-22 10:58:13 +0200242 language: java
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100243 env: BUILD_SYSTEM=bazel
244 addons:
245 apt:
246 sources:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200247 - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
248 key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100249 - ubuntu-toolchain-r-test
250 packages:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200251 - oracle-java8-installer
252 - bazel
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100253
254 - os: osx
255 env: BUILD_SYSTEM=bazel
256
Evan Nemerson37be4e32016-06-28 20:35:16 -0700257before_install:
258###
Evan Nemerson26a59352016-07-26 08:22:58 -0700259## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700260## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
261## here (after Travis has set CC/CXX).
262###
263- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
264- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200265- scripts/.travis.sh before_install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100266install:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200267- scripts/.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100268script:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200269- scripts/.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100270after_success:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200271- scripts/.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700272
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100273before_deploy:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200274- scripts/.travis.sh before_deploy
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100275
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200276deploy:
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100277- provider: bintray
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200278 file: "scripts/.bintray.json"
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100279 user: "eustas"
280 key:
281 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
282 on:
283 condition: "${BUILD_SYSTEM} = bazel"
284 skip_cleanup: true