Evan Nemerson | 3e33d76 | 2016-06-23 12:20:37 -0700 | [diff] [blame] | 1 | language: c |
Evan Nemerson | 01f9cf9 | 2016-07-28 20:13:29 -0700 | [diff] [blame^] | 2 | sudo: false |
Evan Nemerson | 3e33d76 | 2016-06-23 12:20:37 -0700 | [diff] [blame] | 3 | matrix: |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 4 | include: |
| 5 | ### |
| 6 | ## Linux builds using various versions of GCC. |
| 7 | ### |
| 8 | - os: linux |
| 9 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6 |
| 10 | addons: |
| 11 | apt: |
| 12 | sources: |
| 13 | - ubuntu-toolchain-r-test |
| 14 | packages: |
| 15 | - gcc-6 |
| 16 | - g++-6 |
| 17 | - os: linux |
| 18 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5 |
| 19 | addons: |
| 20 | apt: |
| 21 | sources: |
| 22 | - ubuntu-toolchain-r-test |
| 23 | packages: |
| 24 | - gcc-5 |
| 25 | - g++-5 |
| 26 | - os: linux |
| 27 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9 |
| 28 | addons: |
| 29 | apt: |
| 30 | sources: |
| 31 | - ubuntu-toolchain-r-test |
| 32 | packages: |
| 33 | - gcc-4.9 |
| 34 | - g++-4.9 |
| 35 | - os: linux |
| 36 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8 |
| 37 | addons: |
| 38 | apt: |
| 39 | sources: |
| 40 | - ubuntu-toolchain-r-test |
| 41 | packages: |
| 42 | - gcc-4.8 |
| 43 | - g++-4.8 |
| 44 | - os: linux |
| 45 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7 |
| 46 | addons: |
| 47 | apt: |
| 48 | sources: |
| 49 | - ubuntu-toolchain-r-test |
| 50 | packages: |
| 51 | - gcc-4.7 |
| 52 | - g++-4.7 |
| 53 | - os: linux |
| 54 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6 |
| 55 | addons: |
| 56 | apt: |
| 57 | sources: |
| 58 | - ubuntu-toolchain-r-test |
| 59 | packages: |
| 60 | - gcc-4.6 |
| 61 | - g++-4.6 |
Evan Nemerson | 97b846f | 2016-07-26 20:59:28 -0700 | [diff] [blame] | 62 | # - os: linux |
| 63 | # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5 |
| 64 | # addons: |
| 65 | # apt: |
| 66 | # sources: |
| 67 | # - ubuntu-toolchain-r-test |
| 68 | # packages: |
| 69 | # - gcc-4.5 |
| 70 | # - g++-4.5 |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 71 | - os: linux |
| 72 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4 |
| 73 | addons: |
| 74 | apt: |
| 75 | sources: |
| 76 | - ubuntu-toolchain-r-test |
| 77 | packages: |
| 78 | - gcc-4.4 |
| 79 | - g++-4.4 |
Evan Nemerson | 3e33d76 | 2016-06-23 12:20:37 -0700 | [diff] [blame] | 80 | |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 81 | ### |
Evan Nemerson | 1d15c95 | 2016-07-22 19:14:29 -0700 | [diff] [blame] | 82 | ## clang on Linux |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 83 | ### |
| 84 | - os: linux |
Evan Nemerson | 1d15c95 | 2016-07-22 19:14:29 -0700 | [diff] [blame] | 85 | env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 |
| 86 | addons: |
| 87 | apt: |
| 88 | sources: |
| 89 | - llvm-toolchain-precise-3.8 |
| 90 | - ubuntu-toolchain-r-test |
| 91 | packages: |
| 92 | - clang-3.8 |
| 93 | - os: linux |
| 94 | env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.7 CXX_COMPILER=clang++-3.7 |
| 95 | addons: |
| 96 | apt: |
| 97 | sources: |
| 98 | - llvm-toolchain-precise-3.7 |
| 99 | - ubuntu-toolchain-r-test |
| 100 | packages: |
| 101 | - clang-3.7 |
| 102 | - os: linux |
| 103 | env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.6 CXX_COMPILER=clang++-3.6 |
| 104 | addons: |
| 105 | apt: |
| 106 | sources: |
| 107 | - llvm-toolchain-precise-3.6 |
| 108 | - ubuntu-toolchain-r-test |
| 109 | packages: |
| 110 | - clang-3.6 |
| 111 | - os: linux |
| 112 | env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5 |
| 113 | addons: |
| 114 | apt: |
| 115 | sources: |
| 116 | - llvm-toolchain-precise-3.5 |
| 117 | - ubuntu-toolchain-r-test |
| 118 | packages: |
| 119 | - clang-3.5 |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 120 | |
| 121 | ### |
| 122 | ## Python build on Linux |
| 123 | ### |
| 124 | - os: linux |
| 125 | env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6 |
| 126 | addons: |
| 127 | apt: |
| 128 | sources: |
| 129 | - ubuntu-toolchain-r-test |
| 130 | packages: |
| 131 | - gcc-6 |
| 132 | - g++-6 |
| 133 | |
| 134 | ### |
| 135 | ## CMake on OS X |
| 136 | ## |
| 137 | ## These all work, but it seems unnecessary to actually build them |
| 138 | ## all since we already test all these versions of GCC on Linux. |
| 139 | ## We'll just test 4.4 and the most recent version. |
| 140 | ### |
| 141 | - os: osx |
| 142 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6 |
| 143 | # - os: osx |
| 144 | # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5 |
| 145 | # - os: osx |
| 146 | # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9 |
| 147 | # - os: osx |
| 148 | # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8 |
| 149 | # - os: osx |
| 150 | # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7 |
| 151 | # - os: osx |
| 152 | # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6 |
| 153 | # - os: osx |
| 154 | # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5 |
| 155 | - os: osx |
| 156 | env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4 |
| 157 | |
| 158 | ### |
| 159 | ## Python OS X builds |
| 160 | ### |
| 161 | - os: osx |
| 162 | env: BUILD_SYSTEM=python INSTALL_TYPE=system PYTHON_VERSION=2.7 |
| 163 | - os: osx |
| 164 | env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=2.7.10 |
| 165 | - os: osx |
| 166 | env: BUILD_SYSTEM=python INSTALL_TYPE=homebrew PYTHON_VERSION=2.7.10 |
| 167 | - os: osx |
| 168 | env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.4.3 |
| 169 | - os: osx |
| 170 | env: BUILD_SYSTEM=python INSTALL_TYPE=homebrew PYTHON_VERSION=3.4.3 |
| 171 | - os: osx |
| 172 | env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.5.0 |
| 173 | - os: osx |
| 174 | env: BUILD_SYSTEM=python INSTALL_TYPE=homebrew PYTHON_VERSION=3.5.0 |
| 175 | |
| 176 | ### |
| 177 | ## Sanitizers |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 178 | ### |
Evan Nemerson | 45862fc | 2016-07-22 20:09:09 -0700 | [diff] [blame] | 179 | - os: linux |
Evan Nemerson | 26a5935 | 2016-07-26 08:22:58 -0700 | [diff] [blame] | 180 | env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=address |
Evan Nemerson | 45862fc | 2016-07-22 20:09:09 -0700 | [diff] [blame] | 181 | addons: |
| 182 | apt: |
| 183 | sources: |
| 184 | - ubuntu-toolchain-r-test |
Evan Nemerson | 26a5935 | 2016-07-26 08:22:58 -0700 | [diff] [blame] | 185 | - llvm-toolchain-precise-3.8 |
Evan Nemerson | 45862fc | 2016-07-22 20:09:09 -0700 | [diff] [blame] | 186 | packages: |
Evan Nemerson | 26a5935 | 2016-07-26 08:22:58 -0700 | [diff] [blame] | 187 | - clang-3.8 |
| 188 | - os: linux |
| 189 | env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=thread |
| 190 | addons: |
| 191 | apt: |
| 192 | sources: |
| 193 | - ubuntu-toolchain-r-test |
| 194 | - llvm-toolchain-precise-3.8 |
| 195 | packages: |
| 196 | - clang-3.8 |
| 197 | - os: linux |
| 198 | env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer" |
| 199 | addons: |
| 200 | apt: |
| 201 | sources: |
| 202 | - ubuntu-toolchain-r-test |
| 203 | - llvm-toolchain-precise-3.8 |
| 204 | packages: |
| 205 | - clang-3.8 |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 206 | |
Evan Nemerson | 03657e8 | 2016-07-28 13:31:09 -0700 | [diff] [blame] | 207 | ### |
| 208 | ## mingw |
| 209 | ### |
| 210 | - os: linux |
| 211 | env: BUILD_SYSTEM=cmake C_COMPILER=x86_64-w64-mingw32-gcc CXX_COMPILER=x86_64-w64-mingw32-g++ RC_COMPILER=x86_64-w64-mingw32-windres CROSS_COMPILE=yes |
| 212 | addons: |
| 213 | apt: |
| 214 | sources: |
| 215 | - ubuntu-toolchain-r-test |
| 216 | - george-edison55-precise-backports |
| 217 | packages: |
| 218 | - binutils-mingw-w64-x86-64 |
| 219 | - g++-mingw-w64-x86-64 |
| 220 | - gcc-mingw-w64-x86-64 |
| 221 | - binutils-mingw-w64-x86-64 |
| 222 | - wine |
| 223 | # Because 2.8.6 passes -rdynamic to the linker, which breaks the build. |
| 224 | - cmake |
| 225 | - cmake-data |
| 226 | |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 227 | before_install: |
| 228 | ### |
Evan Nemerson | 26a5935 | 2016-07-26 08:22:58 -0700 | [diff] [blame] | 229 | ## If we use the matrix to set CC/CXX Travis, overwrites the values, |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 230 | ## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX |
| 231 | ## here (after Travis has set CC/CXX). |
| 232 | ### |
| 233 | - if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi |
| 234 | - if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi |
Cosimo Lupo | bb3d924 | 2015-08-11 12:39:49 +0100 | [diff] [blame] | 235 | install: |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 236 | - ./.travis.sh install |
Cosimo Lupo | bb3d924 | 2015-08-11 12:39:49 +0100 | [diff] [blame] | 237 | script: |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 238 | - ./.travis.sh script |
Cosimo Lupo | bb3d924 | 2015-08-11 12:39:49 +0100 | [diff] [blame] | 239 | after_success: |
Evan Nemerson | 37be4e3 | 2016-06-28 20:35:16 -0700 | [diff] [blame] | 240 | - ./.travis.sh after_success |
Evan Nemerson | 3e33d76 | 2016-06-23 12:20:37 -0700 | [diff] [blame] | 241 | |
Cosimo Lupo | bb3d924 | 2015-08-11 12:39:49 +0100 | [diff] [blame] | 242 | before_deploy: |
Evan Nemerson | 3e33d76 | 2016-06-23 12:20:37 -0700 | [diff] [blame] | 243 | - if [ "${BUILD_SYSTEM}" = "python" ]; then export WHEELS=$(ls ./dist/*.whl); fi |
Cosimo Lupo | 6dcb0dd | 2015-08-12 15:57:03 +0100 | [diff] [blame] | 244 | |
Zoltan Szabadka | 070dacb | 2015-08-31 15:34:42 +0200 | [diff] [blame] | 245 | deploy: |
| 246 | provider: releases |
| 247 | api_key: |
| 248 | secure: YcCBi6W/w4dtKCa59Wfm8L5lGWvK7KxaFNDr3yh1Hz5aStXXf758pEMHGewnlbfbwuj5a3SjBb1nLp1M69OQJfxm442uXBaBKo52PM9PPbD7NjvbNIso73pqcSODXQXKuZxDFpEhfuDTVq3hUkUqiwhChWhrFucJsSL51i7qSss= |
Evan Nemerson | 3e33d76 | 2016-06-23 12:20:37 -0700 | [diff] [blame] | 249 | file: "${WHEELS}" |
Zoltan Szabadka | 070dacb | 2015-08-31 15:34:42 +0200 | [diff] [blame] | 250 | skip_cleanup: true |
| 251 | on: |
Evan Nemerson | 3e33d76 | 2016-06-23 12:20:37 -0700 | [diff] [blame] | 252 | repo: "google/brotli" |
Zoltan Szabadka | 070dacb | 2015-08-31 15:34:42 +0200 | [diff] [blame] | 253 | tags: true |
Evan Nemerson | 3e33d76 | 2016-06-23 12:20:37 -0700 | [diff] [blame] | 254 | condition: "${BUILD_SYSTEM} = python" |