blob: 068e6802cfd28ff10e7c5dbd1ae7951744f9bc7b [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
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +020047 env: BUILD_SYSTEM=fuzz C_COMPILER=clang-7 CXX_COMPILER=clang++-7 ASAN_OPTIONS=detect_leaks=0
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010048 addons:
49 apt:
50 sources:
51 - ubuntu-toolchain-r-test
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +020052 - llvm-toolchain-xenial-7
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +010053 packages:
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +020054 - clang-7
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 Kliuchnikovca21dac2019-08-07 10:51:55 +020060 env: BUILD_SYSTEM=cmake C_COMPILER=clang-7 CXX_COMPILER=clang++-7
Evan Nemerson1d15c952016-07-22 19:14:29 -070061 addons:
62 apt:
63 sources:
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +020064 - llvm-toolchain-xenial-7
Evan Nemerson1d15c952016-07-22 19:14:29 -070065 - ubuntu-toolchain-r-test
66 packages:
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +020067 - clang-7
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 ###
Eugene Kliuchnikov223d80c2020-08-26 12:32:27 +020095 # Installer is currently broken
96 #- os: linux
97 # env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++
Evan Nemersond03c38d2017-02-19 01:06:13 -080098
99 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100100 ## Python 2.7 and 3.6 builds on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -0700101 ###
102 - os: linux
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100103 language: python
104 python: 2.7
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100105 env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100106 addons:
107 apt:
108 sources:
109 - ubuntu-toolchain-r-test
110 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100111 - gcc-5
112 - g++-5
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100113 - os: linux
114 language: python
115 python: 3.6
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100116 env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700117 addons:
118 apt:
119 sources:
120 - ubuntu-toolchain-r-test
121 packages:
Eugene Kliuchnikov2d6b2982017-11-30 20:54:04 +0100122 - gcc-5
123 - g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700124
125 ###
126 ## CMake on OS X
127 ##
128 ## These all work, but it seems unnecessary to actually build them
129 ## all since we already test all these versions of GCC on Linux.
130 ## We'll just test 4.4 and the most recent version.
131 ###
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200132 - os: osx
Eugene Kliuchnikov2216a0d2018-09-13 08:09:32 -0400133 env: BUILD_SYSTEM=cmake C_COMPILER=gcc CXX_COMPILER=g++
Eugene Kliuchnikovea9c51e2016-09-20 10:11:46 +0200134 - os: osx
Eugene Kliuchnikov68db5c02018-04-13 11:44:34 +0200135 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9
136 - os: osx
Eugene Kliuchnikov68db5c02018-04-13 11:44:34 +0200137 env: BUILD_SYSTEM=cmake
Evan Nemerson37be4e32016-06-28 20:35:16 -0700138
139 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100140 ## Python 2.7 OS X build (using the system /usr/bin/python)
Evan Nemerson37be4e32016-06-28 20:35:16 -0700141 ###
142 - os: osx
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100143 env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700144
145 ###
146 ## Sanitizers
Evan Nemerson37be4e32016-06-28 20:35:16 -0700147 ###
Evan Nemerson45862fc2016-07-22 20:09:09 -0700148 - os: linux
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200149 env: BUILD_SYSTEM=cmake C_COMPILER=clang-7 CXX_COMPILER=clang++-7 SANITIZER=address ASAN_OPTIONS=detect_leaks=0
Evan Nemerson45862fc2016-07-22 20:09:09 -0700150 addons:
151 apt:
152 sources:
153 - ubuntu-toolchain-r-test
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200154 - llvm-toolchain-xenial-7
Evan Nemerson45862fc2016-07-22 20:09:09 -0700155 packages:
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200156 - clang-7
Evan Nemerson26a59352016-07-26 08:22:58 -0700157 - os: linux
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200158 env: BUILD_SYSTEM=cmake C_COMPILER=clang-7 CXX_COMPILER=clang++-7 SANITIZER=thread
Evan Nemerson26a59352016-07-26 08:22:58 -0700159 addons:
160 apt:
161 sources:
162 - ubuntu-toolchain-r-test
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200163 - llvm-toolchain-xenial-7
Evan Nemerson26a59352016-07-26 08:22:58 -0700164 packages:
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200165 - clang-7
Evan Nemerson26a59352016-07-26 08:22:58 -0700166 - os: linux
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200167 env: BUILD_SYSTEM=cmake C_COMPILER=clang-7 CXX_COMPILER=clang++-7 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer"
Evan Nemerson26a59352016-07-26 08:22:58 -0700168 addons:
169 apt:
170 sources:
171 - ubuntu-toolchain-r-test
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200172 - llvm-toolchain-xenial-7
Evan Nemerson26a59352016-07-26 08:22:58 -0700173 packages:
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200174 - clang-7
Evan Nemerson03657e82016-07-28 13:31:09 -0700175
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +0100176 - os: linux
177 env: BUILD_SYSTEM=maven
Eugene Kliuchnikovca21dac2019-08-07 10:51:55 +0200178 jdk:
179 # maven + jdk11 + javadoc == trouble
180 - openjdk10
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +0100181 language: java
182
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100183 - os: linux
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100184 sudo: required
Eugene Kliuchnikove51eae52017-06-22 10:58:13 +0200185 language: java
Eugene Kliuchnikov2216a0d2018-09-13 08:09:32 -0400186 jdk: oraclejdk9
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100187 env: BUILD_SYSTEM=bazel
188 addons:
189 apt:
190 sources:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200191 - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
192 key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100193 - ubuntu-toolchain-r-test
194 packages:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200195 - bazel
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100196
197 - os: osx
198 env: BUILD_SYSTEM=bazel
Eugene Kliuchnikovf83aa512020-03-31 14:38:01 +0200199 osx_image: xcode11.3
Eugene Kliuchnikov2216a0d2018-09-13 08:09:32 -0400200 language: java
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100201
Evan Nemerson37be4e32016-06-28 20:35:16 -0700202before_install:
203###
Evan Nemerson26a59352016-07-26 08:22:58 -0700204## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700205## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
206## here (after Travis has set CC/CXX).
207###
208- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
209- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200210- scripts/.travis.sh before_install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100211install:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200212- scripts/.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100213script:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200214- scripts/.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100215after_success:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200216- scripts/.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700217
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100218before_deploy:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200219- scripts/.travis.sh before_deploy
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100220
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200221deploy:
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100222- provider: bintray
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200223 file: "scripts/.bintray.json"
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100224 user: "eustas"
225 key:
226 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
227 on:
228 condition: "${BUILD_SYSTEM} = bazel"
229 skip_cleanup: true