blob: 4f61c26a5024ebea2f63652da95874bc7a802633 [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
Evan Nemerson37be4e32016-06-28 20:35:16 -0700230before_install:
231###
Evan Nemerson26a59352016-07-26 08:22:58 -0700232## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700233## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
234## here (after Travis has set CC/CXX).
235###
236- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
237- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100238install:
Evan Nemerson37be4e32016-06-28 20:35:16 -0700239- ./.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100240script:
Evan Nemerson37be4e32016-06-28 20:35:16 -0700241- ./.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100242after_success:
Evan Nemerson37be4e32016-06-28 20:35:16 -0700243- ./.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700244
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100245before_deploy:
Cosimo Lupo13b8e7f2016-08-10 18:50:40 +0100246- if [ "${BUILD_SYSTEM}" = "python" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then export WHEELS=$(ls ./dist/*.whl); fi
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100247
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200248deploy:
249 provider: releases
250 api_key:
251 secure: YcCBi6W/w4dtKCa59Wfm8L5lGWvK7KxaFNDr3yh1Hz5aStXXf758pEMHGewnlbfbwuj5a3SjBb1nLp1M69OQJfxm442uXBaBKo52PM9PPbD7NjvbNIso73pqcSODXQXKuZxDFpEhfuDTVq3hUkUqiwhChWhrFucJsSL51i7qSss=
Evan Nemerson3e33d762016-06-23 12:20:37 -0700252 file: "${WHEELS}"
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200253 skip_cleanup: true
254 on:
Evan Nemerson3e33d762016-06-23 12:20:37 -0700255 repo: "google/brotli"
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200256 tags: true
Cosimo Lupo11dc16b2016-08-10 19:29:48 +0100257 condition: "${BUILD_SYSTEM} = python && ${TRAVIS_OS_NAME} = osx"