blob: 4d7a16f554fc0419847809eb9e45f74c522f2d19 [file] [log] [blame]
Evan Nemerson3e33d762016-06-23 12:20:37 -07001language: c
Evan Nemerson01f9cf92016-07-28 20:13:29 -07002sudo: false
Eugene Kliuchnikov6b1d0ab2017-09-18 13:05:47 +02003branches:
4 only:
5 - master
Evan Nemerson3e33d762016-06-23 12:20:37 -07006matrix:
Evan Nemerson37be4e32016-06-28 20:35:16 -07007 include:
8 ###
9 ## Linux builds using various versions of GCC.
10 ###
11 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020012 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-7 CXX_COMPILER=g++-7
13 addons:
14 apt:
15 sources:
16 - ubuntu-toolchain-r-test
17 packages:
18 - gcc-7
19 - g++-7
20 - os: linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070021 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
22 addons:
23 apt:
24 sources:
25 - ubuntu-toolchain-r-test
26 packages:
27 - gcc-6
28 - g++-6
29 - os: linux
30 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5
31 addons:
32 apt:
33 sources:
34 - ubuntu-toolchain-r-test
35 packages:
36 - gcc-5
37 - g++-5
38 - os: linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070039 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
40 addons:
41 apt:
42 sources:
43 - ubuntu-toolchain-r-test
44 packages:
45 - gcc-4.4
46 - g++-4.4
Evan Nemerson3e33d762016-06-23 12:20:37 -070047
Evan Nemerson37be4e32016-06-28 20:35:16 -070048 ###
Eugene Kliuchnikov4f8cd4c2017-09-26 13:49:30 +020049 ## Test that fuzzer is compiling / working.
50 ###
51 - os: linux
52 env: BUILD_SYSTEM=fuzz C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0
53 addons:
54 apt:
55 sources:
56 - ubuntu-toolchain-r-test
57 - llvm-toolchain-trusty-4.0
58 packages:
59 - clang-4.0
60
61 ###
Evan Nemerson1d15c952016-07-22 19:14:29 -070062 ## clang on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070063 ###
64 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020065 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070066 addons:
67 apt:
68 sources:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020069 - llvm-toolchain-trusty-4.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070070 - ubuntu-toolchain-r-test
71 packages:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020072 - clang-4.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070073 - os: linux
74 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5
75 addons:
76 apt:
77 sources:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020078 - llvm-toolchain-trusty-3.5
Evan Nemerson1d15c952016-07-22 19:14:29 -070079 - ubuntu-toolchain-r-test
80 packages:
81 - clang-3.5
Evan Nemerson37be4e32016-06-28 20:35:16 -070082
83 ###
Evan Nemersond03c38d2017-02-19 01:06:13 -080084 ## PGI Community Edition on Linux
85 ###
86 - os: linux
87 env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++
88
89 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010090 ## Python 2.7 and 3.6 builds on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070091 ###
92 - os: linux
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010093 language: python
94 python: 2.7
95 env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6
96 addons:
97 apt:
98 sources:
99 - ubuntu-toolchain-r-test
100 packages:
101 - gcc-6
102 - g++-6
103 - os: linux
104 language: python
105 python: 3.6
Evan Nemerson37be4e32016-06-28 20:35:16 -0700106 env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6
107 addons:
108 apt:
109 sources:
110 - ubuntu-toolchain-r-test
111 packages:
112 - gcc-6
113 - g++-6
114
115 ###
116 ## CMake on OS X
117 ##
118 ## These all work, but it seems unnecessary to actually build them
119 ## all since we already test all these versions of GCC on Linux.
120 ## We'll just test 4.4 and the most recent version.
121 ###
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200122 - os: osx
123 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
Eugene Kliuchnikovea9c51e2016-09-20 10:11:46 +0200124 - os: osx
125 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700126 - os: osx
Eugene Kliuchnikov678f8622016-10-20 14:16:00 +0200127 osx_image: beta-xcode6.2
Evan Nemerson37be4e32016-06-28 20:35:16 -0700128 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
129
130 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100131 ## Python 2.7 OS X build (using the system /usr/bin/python)
Evan Nemerson37be4e32016-06-28 20:35:16 -0700132 ###
133 - os: osx
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100134 env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700135
136 ###
137 ## Sanitizers
Evan Nemerson37be4e32016-06-28 20:35:16 -0700138 ###
Evan Nemerson45862fc2016-07-22 20:09:09 -0700139 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200140 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 SANITIZER=address
Evan Nemerson45862fc2016-07-22 20:09:09 -0700141 addons:
142 apt:
143 sources:
144 - ubuntu-toolchain-r-test
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200145 - llvm-toolchain-trusty-4.0
Evan Nemerson45862fc2016-07-22 20:09:09 -0700146 packages:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200147 - clang-4.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700148 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200149 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 SANITIZER=thread
Evan Nemerson26a59352016-07-26 08:22:58 -0700150 addons:
151 apt:
152 sources:
153 - ubuntu-toolchain-r-test
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200154 - llvm-toolchain-trusty-4.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700155 packages:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200156 - clang-4.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700157 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200158 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer"
Evan Nemerson26a59352016-07-26 08:22:58 -0700159 addons:
160 apt:
161 sources:
162 - ubuntu-toolchain-r-test
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200163 - llvm-toolchain-trusty-4.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700164 packages:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200165 - clang-4.0
Evan Nemerson03657e82016-07-28 13:31:09 -0700166
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +0100167 - os: linux
168 env: BUILD_SYSTEM=maven
169 language: java
170
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100171 - os: linux
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100172 sudo: required
Eugene Kliuchnikove51eae52017-06-22 10:58:13 +0200173 language: java
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100174 env: BUILD_SYSTEM=bazel
175 addons:
176 apt:
177 sources:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200178 - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
179 key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100180 - ubuntu-toolchain-r-test
181 packages:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200182 - oracle-java8-installer
183 - bazel
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100184
185 - os: osx
186 env: BUILD_SYSTEM=bazel
187
Evan Nemerson37be4e32016-06-28 20:35:16 -0700188before_install:
189###
Evan Nemerson26a59352016-07-26 08:22:58 -0700190## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700191## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
192## here (after Travis has set CC/CXX).
193###
194- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
195- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200196- scripts/.travis.sh before_install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100197install:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200198- scripts/.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100199script:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200200- scripts/.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100201after_success:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200202- scripts/.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700203
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100204before_deploy:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200205- scripts/.travis.sh before_deploy
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100206
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200207deploy:
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100208- provider: bintray
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200209 file: "scripts/.bintray.json"
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100210 user: "eustas"
211 key:
212 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
213 on:
214 condition: "${BUILD_SYSTEM} = bazel"
215 skip_cleanup: true