1language: c 2sudo: false 3branches: 4 only: 5 - master 6matrix: 7 include: 8 ### 9 ## Linux builds using various versions of GCC. 10 ### 11 - os: linux 12 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 21 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 29 30 ### 31 ## Test that Autotools build works. 32 ### 33 - os: linux 34 env: BUILD_SYSTEM=autotools C_COMPILER=gcc-5 CXX_COMPILER=g++-5 35 addons: 36 apt: 37 sources: 38 - ubuntu-toolchain-r-test 39 packages: 40 - 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 55 56 ### 57 ## clang on Linux 58 ### 59 - os: linux 60 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 61 addons: 62 apt: 63 sources: 64 - llvm-toolchain-trusty-5.0 65 - ubuntu-toolchain-r-test 66 packages: 67 - clang-5.0 68 - os: linux 69 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5 70 addons: 71 apt: 72 sources: 73 - llvm-toolchain-trusty-3.5 74 - ubuntu-toolchain-r-test 75 packages: 76 - clang-3.5 77 78 ### 79 ## testing arm via qemu on Linux 80 ### 81 - os: linux 82 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" 83 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 ### 93 ## PGI Community Edition on Linux 94 ### 95 - os: linux 96 env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++ 97 98 ### 99 ## Python 2.7 and 3.6 builds on Linux 100 ### 101 - os: linux 102 language: python 103 python: 2.7 104 env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5 105 addons: 106 apt: 107 sources: 108 - ubuntu-toolchain-r-test 109 packages: 110 - gcc-5 111 - g++-5 112 - os: linux 113 language: python 114 python: 3.6 115 env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5 116 addons: 117 apt: 118 sources: 119 - ubuntu-toolchain-r-test 120 packages: 121 - gcc-5 122 - g++-5 123 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 ### 131 - os: osx 132 env: BUILD_SYSTEM=cmake C_COMPILER=gcc CXX_COMPILER=g++ 133 - os: osx 134 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9 135 - os: osx 136 env: BUILD_SYSTEM=cmake 137 138 ### 139 ## Python 2.7 OS X build (using the system /usr/bin/python) 140 ### 141 - os: osx 142 env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++ 143 144 ### 145 ## Sanitizers 146 ### 147 - os: linux 148 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=address ASAN_OPTIONS=detect_leaks=0 149 addons: 150 apt: 151 sources: 152 - ubuntu-toolchain-r-test 153 - llvm-toolchain-trusty-5.0 154 packages: 155 - clang-5.0 156 - os: linux 157 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=thread 158 addons: 159 apt: 160 sources: 161 - ubuntu-toolchain-r-test 162 - llvm-toolchain-trusty-5.0 163 packages: 164 - clang-5.0 165 - os: linux 166 env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer" 167 addons: 168 apt: 169 sources: 170 - ubuntu-toolchain-r-test 171 - llvm-toolchain-trusty-5.0 172 packages: 173 - clang-5.0 174 175 - os: linux 176 env: BUILD_SYSTEM=maven 177 language: java 178 179 - os: linux 180 sudo: required 181 language: java 182 jdk: oraclejdk9 183 env: BUILD_SYSTEM=bazel 184 addons: 185 apt: 186 sources: 187 - 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" 189 - ubuntu-toolchain-r-test 190 packages: 191 - bazel 192 193 - os: osx 194 env: BUILD_SYSTEM=bazel 195 # Latest image with Java 1.8 (required to install Bazel). 196 osx_image: xcode9.3 197 language: java 198 199before_install: 200### 201## If we use the matrix to set CC/CXX Travis, overwrites the values, 202## 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 207- scripts/.travis.sh before_install 208install: 209- scripts/.travis.sh install 210script: 211- scripts/.travis.sh script 212after_success: 213- scripts/.travis.sh after_success 214 215before_deploy: 216- scripts/.travis.sh before_deploy 217 218deploy: 219- provider: bintray 220 file: "scripts/.bintray.json" 221 user: "eustas" 222 key: 223 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw=" 224 on: 225 condition: "${BUILD_SYSTEM} = bazel" 226 skip_cleanup: true 227