mirror of
https://github.com/google/brotli.git
synced 2024-11-22 03:30:07 +00:00
2d6b298e11
* Use Clang-5.0 * Disable unholy ASAN leak detector (to unbreak build) * Reduce build matrix and use faster env, where compiler version is not important * Add autotools build to Travis matrix
209 lines
5.3 KiB
YAML
209 lines
5.3 KiB
YAML
language: c
|
|
sudo: false
|
|
branches:
|
|
only:
|
|
- master
|
|
matrix:
|
|
include:
|
|
###
|
|
## Linux builds using various versions of GCC.
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-7 CXX_COMPILER=g++-7
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-7
|
|
- g++-7
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-4.4
|
|
- g++-4.4
|
|
|
|
###
|
|
## Test that Autotools build works.
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=autotools C_COMPILER=gcc-5 CXX_COMPILER=g++-5
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
|
|
###
|
|
## Test that fuzzer is compiling / working.
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=fuzz C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 ASAN_OPTIONS=detect_leaks=0
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-5.0
|
|
packages:
|
|
- clang-5.0
|
|
|
|
###
|
|
## clang on Linux
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-trusty-5.0
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- clang-5.0
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-trusty-3.5
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- clang-3.5
|
|
|
|
###
|
|
## PGI Community Edition on Linux
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++
|
|
|
|
###
|
|
## Python 2.7 and 3.6 builds on Linux
|
|
###
|
|
- os: linux
|
|
language: python
|
|
python: 2.7
|
|
env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
- os: linux
|
|
language: python
|
|
python: 3.6
|
|
env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
|
|
###
|
|
## CMake on OS X
|
|
##
|
|
## These all work, but it seems unnecessary to actually build them
|
|
## all since we already test all these versions of GCC on Linux.
|
|
## We'll just test 4.4 and the most recent version.
|
|
###
|
|
- os: osx
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
|
|
- os: osx
|
|
osx_image: beta-xcode6.2
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
|
|
|
|
###
|
|
## Python 2.7 OS X build (using the system /usr/bin/python)
|
|
###
|
|
- os: osx
|
|
env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++
|
|
|
|
###
|
|
## Sanitizers
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=address ASAN_OPTIONS=detect_leaks=0
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-5.0
|
|
packages:
|
|
- clang-5.0
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=thread
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-5.0
|
|
packages:
|
|
- clang-5.0
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer"
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-5.0
|
|
packages:
|
|
- clang-5.0
|
|
|
|
- os: linux
|
|
env: BUILD_SYSTEM=maven
|
|
language: java
|
|
|
|
- os: linux
|
|
sudo: required
|
|
language: java
|
|
env: BUILD_SYSTEM=bazel
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
|
|
key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- oracle-java8-installer
|
|
- bazel
|
|
|
|
- os: osx
|
|
env: BUILD_SYSTEM=bazel
|
|
|
|
before_install:
|
|
###
|
|
## If we use the matrix to set CC/CXX Travis, overwrites the values,
|
|
## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
|
|
## here (after Travis has set CC/CXX).
|
|
###
|
|
- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
|
|
- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
|
|
- scripts/.travis.sh before_install
|
|
install:
|
|
- scripts/.travis.sh install
|
|
script:
|
|
- scripts/.travis.sh script
|
|
after_success:
|
|
- scripts/.travis.sh after_success
|
|
|
|
before_deploy:
|
|
- scripts/.travis.sh before_deploy
|
|
|
|
deploy:
|
|
- provider: bintray
|
|
file: "scripts/.bintray.json"
|
|
user: "eustas"
|
|
key:
|
|
secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
|
|
on:
|
|
condition: "${BUILD_SYSTEM} = bazel"
|
|
skip_cleanup: true
|