blob: 95589a6b1919567687018cfce2aeff781f2acb15 [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 ###
Evan Nemerson1d15c952016-07-22 19:14:29 -070049 ## clang on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070050 ###
51 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020052 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070053 addons:
54 apt:
55 sources:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020056 - llvm-toolchain-trusty-4.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070057 - ubuntu-toolchain-r-test
58 packages:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020059 - clang-4.0
Evan Nemerson1d15c952016-07-22 19:14:29 -070060 - os: linux
61 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5
62 addons:
63 apt:
64 sources:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +020065 - llvm-toolchain-trusty-3.5
Evan Nemerson1d15c952016-07-22 19:14:29 -070066 - ubuntu-toolchain-r-test
67 packages:
68 - clang-3.5
Evan Nemerson37be4e32016-06-28 20:35:16 -070069
70 ###
Evan Nemersond03c38d2017-02-19 01:06:13 -080071 ## PGI Community Edition on Linux
72 ###
73 - os: linux
74 env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++
75
76 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010077 ## Python 2.7 and 3.6 builds on Linux
Evan Nemerson37be4e32016-06-28 20:35:16 -070078 ###
79 - os: linux
Cosimo Lupo4f455ca2017-08-23 19:45:13 +010080 language: python
81 python: 2.7
82 env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6
83 addons:
84 apt:
85 sources:
86 - ubuntu-toolchain-r-test
87 packages:
88 - gcc-6
89 - g++-6
90 - os: linux
91 language: python
92 python: 3.6
Evan Nemerson37be4e32016-06-28 20:35:16 -070093 env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6
94 addons:
95 apt:
96 sources:
97 - ubuntu-toolchain-r-test
98 packages:
99 - gcc-6
100 - g++-6
101
102 ###
103 ## CMake on OS X
104 ##
105 ## These all work, but it seems unnecessary to actually build them
106 ## all since we already test all these versions of GCC on Linux.
107 ## We'll just test 4.4 and the most recent version.
108 ###
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200109 - os: osx
110 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
Eugene Kliuchnikovea9c51e2016-09-20 10:11:46 +0200111 - os: osx
112 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5
Evan Nemerson37be4e32016-06-28 20:35:16 -0700113 - os: osx
Eugene Kliuchnikov678f8622016-10-20 14:16:00 +0200114 osx_image: beta-xcode6.2
Evan Nemerson37be4e32016-06-28 20:35:16 -0700115 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
116
117 ###
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100118 ## Python 2.7 OS X build (using the system /usr/bin/python)
Evan Nemerson37be4e32016-06-28 20:35:16 -0700119 ###
120 - os: osx
Cosimo Lupo4f455ca2017-08-23 19:45:13 +0100121 env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++
Evan Nemerson37be4e32016-06-28 20:35:16 -0700122
123 ###
124 ## Sanitizers
Evan Nemerson37be4e32016-06-28 20:35:16 -0700125 ###
Evan Nemerson45862fc2016-07-22 20:09:09 -0700126 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200127 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 SANITIZER=address
Evan Nemerson45862fc2016-07-22 20:09:09 -0700128 addons:
129 apt:
130 sources:
131 - ubuntu-toolchain-r-test
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200132 - llvm-toolchain-trusty-4.0
Evan Nemerson45862fc2016-07-22 20:09:09 -0700133 packages:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200134 - clang-4.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700135 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200136 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 SANITIZER=thread
Evan Nemerson26a59352016-07-26 08:22:58 -0700137 addons:
138 apt:
139 sources:
140 - ubuntu-toolchain-r-test
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200141 - llvm-toolchain-trusty-4.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700142 packages:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200143 - clang-4.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700144 - os: linux
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200145 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 -0700146 addons:
147 apt:
148 sources:
149 - ubuntu-toolchain-r-test
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200150 - llvm-toolchain-trusty-4.0
Evan Nemerson26a59352016-07-26 08:22:58 -0700151 packages:
Eugene Kliuchnikov87b43eb2017-09-18 13:52:53 +0200152 - clang-4.0
Evan Nemerson03657e82016-07-28 13:31:09 -0700153
Eugene Kliuchnikovee5c7192017-03-22 19:13:59 +0100154 - os: linux
155 env: BUILD_SYSTEM=maven
156 language: java
157
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100158 - os: linux
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100159 sudo: required
Eugene Kliuchnikove51eae52017-06-22 10:58:13 +0200160 language: java
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100161 env: BUILD_SYSTEM=bazel
162 addons:
163 apt:
164 sources:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200165 - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
166 key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100167 - ubuntu-toolchain-r-test
168 packages:
Eugene Kliuchnikovefdff3f2017-06-22 11:38:49 +0200169 - oracle-java8-installer
170 - bazel
Eugene Kliuchnikov22421eb2017-03-23 13:35:53 +0100171
172 - os: osx
173 env: BUILD_SYSTEM=bazel
174
Evan Nemerson37be4e32016-06-28 20:35:16 -0700175before_install:
176###
Evan Nemerson26a59352016-07-26 08:22:58 -0700177## If we use the matrix to set CC/CXX Travis, overwrites the values,
Evan Nemerson37be4e32016-06-28 20:35:16 -0700178## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
179## here (after Travis has set CC/CXX).
180###
181- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
182- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200183- scripts/.travis.sh before_install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100184install:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200185- scripts/.travis.sh install
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100186script:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200187- scripts/.travis.sh script
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100188after_success:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200189- scripts/.travis.sh after_success
Evan Nemerson3e33d762016-06-23 12:20:37 -0700190
Cosimo Lupobb3d9242015-08-11 12:39:49 +0100191before_deploy:
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200192- scripts/.travis.sh before_deploy
Cosimo Lupo6dcb0dd2015-08-12 15:57:03 +0100193
Zoltan Szabadka070dacb2015-08-31 15:34:42 +0200194deploy:
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100195- provider: bintray
Eugene Kliuchnikov6ece1d82017-04-23 14:07:08 +0200196 file: "scripts/.bintray.json"
Eugene Kliuchnikov187904a2017-03-24 12:54:20 +0100197 user: "eustas"
198 key:
199 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
200 on:
201 condition: "${BUILD_SYSTEM} = bazel"
202 skip_cleanup: true