blob: 78495d05f438dd5a3adfaa5d7330c525f488f7b1 [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-4.4 CXX_COMPILER=g++-4.4
22 addons:
23 apt:
24 sources:
25 - ubuntu-toolchain-r-test
26 packages:
27 - gcc-4.4
28 - g++-4.4
Evan Nemerson3e33d762016-06-23 12:20:37 -070029
Evan Nemerson37be4e32016-06-28 20:35:16 -070030 ###
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010031 ## Test that Autotools build works.
Eugene Kliuchnikov4f8cd4c2017-09-26 13:49:30 +020032 ###
33 - os: linux
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010034 env: BUILD_SYSTEM=autotools C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Eugene Kliuchnikov4f8cd4c2017-09-26 13:49:30 +020035 addons:
36 apt:
37 sources:
38 - ubuntu-toolchain-r-test
Eugene Kliuchnikov4f8cd4c2017-09-26 13:49:30 +020039 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010040 - gcc-5
41 - g++-5
42
43 ###
44 ## Test that fuzzer is compiling / working.
45 ###
46 - os: linux
47 env: BUILD_SYSTEM=fuzz C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 ASAN_OPTIONS=detect_leaks=0
48 addons:
49 apt:
50 sources:
51 - ubuntu-toolchain-r-test
52 - llvm-toolchain-trusty-5.0
53 packages:
54 - clang-5.0
Eugene Kliuchnikov4f8cd4c2017-09-26 13:49:30 +020055
56 ###
Evan Nemerson1d15c952016-07-22 19:14:29 -070057 ## clang on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070058 ###
59 - os: linux
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010060 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070061 addons:
62 apt:
63 sources:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010064 - llvm-toolchain-trusty-5.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070065 - ubuntu-toolchain-r-test
66 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010067 - clang-5.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070068 - os: linux
69 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5
70 addons:
71 apt:
72 sources:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020073 - llvm-toolchain-trusty-3.5
Evan Nemerson1d15c952016-07-22 19:14:29 -070074 - ubuntu-toolchain-r-test
75 packages:
76 - clang-3.5
Evan Nemerson37be4e32016-06-28 20:35:16 -070077
78 ###
Evan Nemersond03c38d2017-02-19 01:06:13 -080079 ## PGI Community Edition on Linux
80 ###
81 - os: linux
82 env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++
83
84 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010085 ## Python 2.7 and 3.6 builds on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070086 ###
87 - os: linux
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010088 language: python
89 python: 2.7
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010090 env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010091 addons:
92 apt:
93 sources:
94 - ubuntu-toolchain-r-test
95 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010096 - gcc-5
97 - g++-5
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010098 - os: linux
99 language: python
100 python: 3.6
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100101 env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700102 addons:
103 apt:
104 sources:
105 - ubuntu-toolchain-r-test
106 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100107 - gcc-5
108 - g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700109
110 ###
111 ## CMake on OS X
112 ##
113 ## These all work, but it seems unnecessary to actually build them
114 ## all since we already test all these versions of GCC on Linux.
115 ## We'll just test 4.4 and the most recent version.
116 ###
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200117 - os: osx
118 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
Eugene Kliuchnikovea9c51e2016-09-20 10:11:46 +0200119 - os: osx
Eugene Kliuchnikov678f8622016-10-20 14:16:00 +0200120 osx_image: beta-xcode6.2
Evan Nemerson37be4e32016-06-28 20:35:16 -0700121 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
122
123 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100124 ## Python 2.7 OS X build (using the system /usr/bin/python)
Evan Nemerson37be4e32016-06-28 20:35:16 -0700125 ###
126 - os: osx
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100127 env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700128
129 ###
130 ## Sanitizers
Evan Nemerson37be4e32016-06-28 20:35:16 -0700131 ###
Evan Nemerson45862fc2016-07-22 20:09:09 -0700132 - os: linux
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100133 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=address ASAN_OPTIONS=detect_leaks=0
Evan Nemerson45862fc2016-07-22 20:09:09 -0700134 addons:
135 apt:
136 sources:
137 - ubuntu-toolchain-r-test
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100138 - llvm-toolchain-trusty-5.0
Evan Nemerson45862fc2016-07-22 20:09:09 -0700139 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100140 - clang-5.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700141 - os: linux
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100142 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=thread
Evan Nemerson26a59352016-07-26 08:22:58 -0700143 addons:
144 apt:
145 sources:
146 - ubuntu-toolchain-r-test
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100147 - llvm-toolchain-trusty-5.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700148 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100149 - clang-5.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700150 - os: linux
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100151 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer"
Evan Nemerson26a59352016-07-26 08:22:58 -0700152 addons:
153 apt:
154 sources:
155 - ubuntu-toolchain-r-test
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100156 - llvm-toolchain-trusty-5.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700157 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100158 - clang-5.0
Evan Nemerson03657e82016-07-28 13:31:09 -0700159
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +0100160 - os: linux
161 env: BUILD_SYSTEM=maven
162 language: java
163
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100164 - os: linux
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100165 sudo: required
Eugene Kliuchnikove51eae52017-06-22 10:58:13 +0200166 language: java
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100167 env: BUILD_SYSTEM=bazel
168 addons:
169 apt:
170 sources:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200171 - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
172 key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100173 - ubuntu-toolchain-r-test
174 packages:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200175 - oracle-java8-installer
176 - bazel
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100177
178 - os: osx
179 env: BUILD_SYSTEM=bazel
180
Evan Nemerson37be4e32016-06-28 20:35:16 -0700181before_install:
182###
Evan Nemerson26a59352016-07-26 08:22:58 -0700183## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700184## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
185## here (after Travis has set CC/CXX).
186###
187- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
188- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200189- scripts/.travis.sh before_install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100190install:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200191- scripts/.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100192script:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200193- scripts/.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100194after_success:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200195- scripts/.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700196
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100197before_deploy:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200198- scripts/.travis.sh before_deploy
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100199
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200200deploy:
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100201- provider: bintray
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200202 file: "scripts/.bintray.json"
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100203 user: "eustas"
204 key:
205 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
206 on:
207 condition: "${BUILD_SYSTEM} = bazel"
208 skip_cleanup: true