mirror of
https://github.com/google/brotli.git
synced 2024-11-09 21:50:07 +00:00
247 lines
6.8 KiB
YAML
247 lines
6.8 KiB
YAML
language: c
|
|
sudo: false
|
|
matrix:
|
|
include:
|
|
###
|
|
## Linux builds using various versions of GCC.
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-6
|
|
- g++-6
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-4.9
|
|
- g++-4.9
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-4.8
|
|
- g++-4.8
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-4.7
|
|
- g++-4.7
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-4.6
|
|
- g++-4.6
|
|
# - os: linux
|
|
# env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5
|
|
# addons:
|
|
# apt:
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# packages:
|
|
# - gcc-4.5
|
|
# - g++-4.5
|
|
- 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
|
|
|
|
###
|
|
## clang on Linux
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-precise-3.8
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- clang-3.8
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.7 CXX_COMPILER=clang++-3.7
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-precise-3.7
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- clang-3.7
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.6 CXX_COMPILER=clang++-3.6
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-precise-3.6
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- clang-3.6
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-precise-3.5
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- clang-3.5
|
|
|
|
###
|
|
## Python build on Linux
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-6
|
|
- g++-6
|
|
|
|
###
|
|
## 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
|
|
# env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5
|
|
# - os: osx
|
|
# env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9
|
|
# - os: osx
|
|
# env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8
|
|
# - os: osx
|
|
# env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7
|
|
# - os: osx
|
|
# env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6
|
|
# - os: osx
|
|
# env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5
|
|
- os: osx
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
|
|
|
|
###
|
|
## Python OS X builds
|
|
###
|
|
- os: osx
|
|
env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=2.7.12
|
|
- os: osx
|
|
env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.4.4
|
|
- os: osx
|
|
env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.5.2
|
|
|
|
###
|
|
## Sanitizers
|
|
###
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=address
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-precise-3.8
|
|
packages:
|
|
- clang-3.8
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=thread
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-precise-3.8
|
|
packages:
|
|
- clang-3.8
|
|
- os: linux
|
|
env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer"
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-precise-3.8
|
|
packages:
|
|
- clang-3.8
|
|
|
|
###
|
|
## mingw
|
|
###
|
|
- os: linux
|
|
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
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- george-edison55-precise-backports
|
|
packages:
|
|
- binutils-mingw-w64-x86-64
|
|
- g++-mingw-w64-x86-64
|
|
- gcc-mingw-w64-x86-64
|
|
- binutils-mingw-w64-x86-64
|
|
- wine
|
|
# Because 2.8.6 passes -rdynamic to the linker, which breaks the build.
|
|
- cmake
|
|
- cmake-data
|
|
|
|
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
|
|
install:
|
|
- ./.travis.sh install
|
|
script:
|
|
- ./.travis.sh script
|
|
after_success:
|
|
- ./.travis.sh after_success
|
|
|
|
before_deploy:
|
|
- if [ "${BUILD_SYSTEM}" = "python" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then export WHEELS=$(ls ./dist/*.whl); fi
|
|
|
|
deploy:
|
|
provider: releases
|
|
api_key:
|
|
secure: YcCBi6W/w4dtKCa59Wfm8L5lGWvK7KxaFNDr3yh1Hz5aStXXf758pEMHGewnlbfbwuj5a3SjBb1nLp1M69OQJfxm442uXBaBKo52PM9PPbD7NjvbNIso73pqcSODXQXKuZxDFpEhfuDTVq3hUkUqiwhChWhrFucJsSL51i7qSss=
|
|
file: "${WHEELS}"
|
|
skip_cleanup: true
|
|
on:
|
|
repo: "google/brotli"
|
|
tags: true
|
|
condition: "${BUILD_SYSTEM} = python && ${TRAVIS_OS_NAME} = osx"
|