1 language: c 2 sudo: false 3 branches: 4 only: 5 - master 6 matrix: 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-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 39 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 47 48 ### 49 ## clang on Linux 50 ### 51 - os: linux 52 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 53 addons: 54 apt: 55 sources: 56 - llvm-toolchain-trusty-4.0 57 - ubuntu-toolchain-r-test 58 packages: 59 - clang-4.0 60 - os: linux 61 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5 62 addons: 63 apt: 64 sources: 65 - llvm-toolchain-trusty-3.5 66 - ubuntu-toolchain-r-test 67 packages: 68 - clang-3.5 69 70 ### 71 ## PGI Community Edition on Linux 72 ### 73 - os: linux 74 env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++ 75 76 ### 77 ## Python 2.7 and 3.6 builds on Linux 78 ### 79 - os: linux 80 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 93 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 ### 109 - os: osx 110 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6 111 - os: osx 112 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5 113 - os: osx 114 osx_image: beta-xcode6.2 115 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4 116 117 ### 118 ## Python 2.7 OS X build (using the system /usr/bin/python) 119 ### 120 - os: osx 121 env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++ 122 123 ### 124 ## Sanitizers 125 ### 126 - os: linux 127 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 SANITIZER=address 128 addons: 129 apt: 130 sources: 131 - ubuntu-toolchain-r-test 132 - llvm-toolchain-trusty-4.0 133 packages: 134 - clang-4.0 135 - os: linux 136 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 SANITIZER=thread 137 addons: 138 apt: 139 sources: 140 - ubuntu-toolchain-r-test 141 - llvm-toolchain-trusty-4.0 142 packages: 143 - clang-4.0 144 - os: linux 145 env: BUILD_SYSTEM=cmake C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer" 146 addons: 147 apt: 148 sources: 149 - ubuntu-toolchain-r-test 150 - llvm-toolchain-trusty-4.0 151 packages: 152 - clang-4.0 153 154 - os: linux 155 env: BUILD_SYSTEM=maven 156 language: java 157 158 - os: linux 159 sudo: required 160 language: java 161 env: BUILD_SYSTEM=bazel 162 addons: 163 apt: 164 sources: 165 - 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" 167 - ubuntu-toolchain-r-test 168 packages: 169 - oracle-java8-installer 170 - bazel 171 172 - os: osx 173 env: BUILD_SYSTEM=bazel 174 175 before_install: 176 ### 177 ## If we use the matrix to set CC/CXX Travis, overwrites the values, 178 ## 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 183 - scripts/.travis.sh before_install 184 install: 185 - scripts/.travis.sh install 186 script: 187 - scripts/.travis.sh script 188 after_success: 189 - scripts/.travis.sh after_success 190 191 before_deploy: 192 - scripts/.travis.sh before_deploy 193 194 deploy: 195 - provider: bintray 196 file: "scripts/.bintray.json" 197 user: "eustas" 198 key: 199 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw=" 200 on: 201 condition: "${BUILD_SYSTEM} = bazel" 202 skip_cleanup: true 203