blob: 5cfeafc85cfaa6cbd135a4a4a1ffa1a24d2d5bfb [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 ###
Stephen Kyle67f059e2018-09-27 10:00:33 +010079 ## testing arm via qemu on Linux
80 ###
81 - os: linux
Stephen Kyle7a153eb2018-10-17 16:29:32 +010082 env: BUILD_SYSTEM=cmake C_COMPILER=arm-linux-gnueabihf-gcc CXX_COMPILER=arm-linux-gnueabihf-g++ CFLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=neon"
Stephen Kyle67f059e2018-09-27 10:00:33 +010083 addons:
84 apt:
85 sources:
86 - ubuntu-toolchain-r-test
87 packages:
88 - qemu
89 - gcc-arm-linux-gnueabihf
90 - libc6-dev-armhf-cross
91
92 ###
Evan Nemersond03c38d2017-02-19 01:06:13 -080093 ## PGI Community Edition on Linux
94 ###
95 - os: linux
96 env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++
97
98 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010099 ## Python 2.7 and 3.6 builds on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -0700100 ###
101 - os: linux
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100102 language: python
103 python: 2.7
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100104 env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100105 addons:
106 apt:
107 sources:
108 - ubuntu-toolchain-r-test
109 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100110 - gcc-5
111 - g++-5
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100112 - os: linux
113 language: python
114 python: 3.6
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100115 env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700116 addons:
117 apt:
118 sources:
119 - ubuntu-toolchain-r-test
120 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100121 - gcc-5
122 - g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700123
124 ###
125 ## CMake on OS X
126 ##
127 ## These all work, but it seems unnecessary to actually build them
128 ## all since we already test all these versions of GCC on Linux.
129 ## We'll just test 4.4 and the most recent version.
130 ###
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200131 - os: osx
Eugene Kliuchnikov2216a0d2018-09-13 08:09:32 -0400132 env: BUILD_SYSTEM=cmake C_COMPILER=gcc CXX_COMPILER=g++
Eugene Kliuchnikovea9c51e2016-09-20 10:11:46 +0200133 - os: osx
Eugene Kliuchnikov68db5c02018-04-13 11:44:34 +0200134 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9
135 - os: osx
Eugene Kliuchnikov68db5c02018-04-13 11:44:34 +0200136 env: BUILD_SYSTEM=cmake
Evan Nemerson37be4e32016-06-28 20:35:16 -0700137
138 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100139 ## Python 2.7 OS X build (using the system /usr/bin/python)
Evan Nemerson37be4e32016-06-28 20:35:16 -0700140 ###
141 - os: osx
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100142 env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700143
144 ###
145 ## Sanitizers
Evan Nemerson37be4e32016-06-28 20:35:16 -0700146 ###
Evan Nemerson45862fc2016-07-22 20:09:09 -0700147 - os: linux
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100148 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 -0700149 addons:
150 apt:
151 sources:
152 - ubuntu-toolchain-r-test
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100153 - llvm-toolchain-trusty-5.0
Evan Nemerson45862fc2016-07-22 20:09:09 -0700154 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100155 - clang-5.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700156 - os: linux
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100157 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=thread
Evan Nemerson26a59352016-07-26 08:22:58 -0700158 addons:
159 apt:
160 sources:
161 - ubuntu-toolchain-r-test
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100162 - llvm-toolchain-trusty-5.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700163 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100164 - clang-5.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700165 - os: linux
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100166 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 -0700167 addons:
168 apt:
169 sources:
170 - ubuntu-toolchain-r-test
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100171 - llvm-toolchain-trusty-5.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700172 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100173 - clang-5.0
Evan Nemerson03657e82016-07-28 13:31:09 -0700174
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +0100175 - os: linux
176 env: BUILD_SYSTEM=maven
177 language: java
178
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100179 - os: linux
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100180 sudo: required
Eugene Kliuchnikove51eae52017-06-22 10:58:13 +0200181 language: java
Eugene Kliuchnikov2216a0d2018-09-13 08:09:32 -0400182 jdk: oraclejdk9
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100183 env: BUILD_SYSTEM=bazel
184 addons:
185 apt:
186 sources:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200187 - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
188 key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100189 - ubuntu-toolchain-r-test
190 packages:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200191 - bazel
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100192
193 - os: osx
194 env: BUILD_SYSTEM=bazel
Eugene Kliuchnikov2216a0d2018-09-13 08:09:32 -0400195 # Latest image with Java 1.8 (required to install Bazel).
196 osx_image: xcode9.3
197 language: java
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100198
Evan Nemerson37be4e32016-06-28 20:35:16 -0700199before_install:
200###
Evan Nemerson26a59352016-07-26 08:22:58 -0700201## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700202## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
203## here (after Travis has set CC/CXX).
204###
205- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
206- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200207- scripts/.travis.sh before_install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100208install:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200209- scripts/.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100210script:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200211- scripts/.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100212after_success:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200213- scripts/.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700214
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100215before_deploy:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200216- scripts/.travis.sh before_deploy
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100217
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200218deploy:
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100219- provider: bintray
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200220 file: "scripts/.bintray.json"
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100221 user: "eustas"
222 key:
223 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
224 on:
225 condition: "${BUILD_SYSTEM} = bazel"
226 skip_cleanup: true