blob: f87946d7ff591b9a15ebea1de1a30c8dbd60fa89 [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
233 env: BUILD_SYSTEM=bazel
234 addons:
235 apt:
236 sources:
237 - ubuntu-toolchain-r-test
238 packages:
239 - wget
240 - pkg-config
241
242 - os: osx
243 env: BUILD_SYSTEM=bazel
244
Evan Nemerson37be4e32016-06-28 20:35:16 -0700245before_install:
246###
Evan Nemerson26a59352016-07-26 08:22:58 -0700247## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700248## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
249## here (after Travis has set CC/CXX).
250###
251- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
252- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100253- ./.travis.sh before_install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100254install:
Evan Nemerson37be4e32016-06-28 20:35:16 -0700255- ./.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100256script:
Evan Nemerson37be4e32016-06-28 20:35:16 -0700257- ./.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100258after_success:
Evan Nemerson37be4e32016-06-28 20:35:16 -0700259- ./.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700260
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100261before_deploy:
Cosimo Lupo13b8e7f2016-08-10 18:50:40 +0100262- if [ "${BUILD_SYSTEM}" = "python" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then export WHEELS=$(ls ./dist/*.whl); fi
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100263
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200264deploy:
265 provider: releases
266 api_key:
267 secure: YcCBi6W/w4dtKCa59Wfm8L5lGWvK7KxaFNDr3yh1Hz5aStXXf758pEMHGewnlbfbwuj5a3SjBb1nLp1M69OQJfxm442uXBaBKo52PM9PPbD7NjvbNIso73pqcSODXQXKuZxDFpEhfuDTVq3hUkUqiwhChWhrFucJsSL51i7qSss=
Evan Nemerson3e33d762016-06-23 12:20:37 -0700268 file: "${WHEELS}"
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200269 skip_cleanup: true
270 on:
Evan Nemerson3e33d762016-06-23 12:20:37 -0700271 repo: "google/brotli"
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200272 tags: true
Cosimo Lupo11dc16b2016-08-10 19:29:48 +0100273 condition: "${BUILD_SYSTEM} = python && ${TRAVIS_OS_NAME} = osx"