blob: e9407bed8d3dac635ea1b1635e6ebea243ea0eb1 [file] [log] [blame]
Vitaly Buka32165bf2017-01-17 13:37:22 -08001os: linux
Vitaly Buka8437c052018-10-31 15:07:35 -07002dist: xenial
Vitaly Bukaada15502018-10-31 14:57:45 -07003sudo: true
Vitaly Bukaae83ef02017-01-12 13:15:40 -08004
Vitaly Buka32165bf2017-01-17 13:37:22 -08005language: cpp
Vitaly Bukaae83ef02017-01-12 13:15:40 -08006
7addons:
8 apt:
Vitaly Buka2ac9b0f2017-08-02 18:36:21 -07009 packages: &common_packages
Vitaly Bukaae83ef02017-01-12 13:15:40 -080010 - ninja-build
Vitaly Buka4f9e49a2017-01-30 22:12:56 -080011 - liblzma-dev
12 - libz-dev
Vitaly Buka2ac9b0f2017-08-02 18:36:21 -070013 sources: &common_sources
Vitaly Bukaae83ef02017-01-12 13:15:40 -080014 - ubuntu-toolchain-r-test
15
Vitaly Buka628337c2017-08-02 17:09:50 -070016env:
Vitaly Bukaf2cca562018-09-04 17:02:47 -070017 global: CLANG_VERSION=8 GCC_VERSION=7
Vitaly Buka2ac9b0f2017-08-02 18:36:21 -070018
19matrix:
20 include:
21 - env: BUILD_TYPE=Release CC_COMPILER=clang-${CLANG_VERSION} CXX_COMPILER=clang++-${CLANG_VERSION}
22 addons: &clang
23 apt:
24 packages:
25 - *common_packages
Vitaly Bukaf2cca562018-09-04 17:02:47 -070026 - clang-8
Vitaly Buka2ac9b0f2017-08-02 18:36:21 -070027 sources:
28 - *common_sources
Vitaly Bukae2290dc2017-10-16 16:45:40 -070029 - sourceline: 'deb http://apt.llvm.org/jessie/ llvm-toolchain-jessie main'
Vitaly Buka1c040782018-01-30 09:51:09 -080030 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
Vitaly Buka2ac9b0f2017-08-02 18:36:21 -070031
32 - env: BUILD_TYPE=Debug CC_COMPILER=clang-${CLANG_VERSION} CXX_COMPILER=clang++-${CLANG_VERSION}
33 addons: *clang
34
35 - env: BUILD_TYPE=Release CC_COMPILER=gcc-${GCC_VERSION} CXX_COMPILER=g++-${GCC_VERSION}
36 addons: &gcc
37 apt:
38 packages:
39 - *common_packages
Vitaly Buka6051cf02018-01-15 21:22:49 -080040 - g++-7
41 - gcc-7
Vitaly Buka2ac9b0f2017-08-02 18:36:21 -070042 sources:
43 - *common_sources
Vitaly Bukaae83ef02017-01-12 13:15:40 -080044
Vitaly Buka5b98e7f2018-10-31 14:59:43 -070045 - env: BUILD_TYPE=Debug CC_COMPILER=gcc-${GCC_VERSION} CXX_COMPILER=g++-${GCC_VERSION}
46 addons: *gcc
47
Vitaly Bukaae83ef02017-01-12 13:15:40 -080048install:
49 - mkdir -p deps && cd deps
Vitaly Buka960475d2018-10-31 15:29:33 -070050 - travis_retry wget --no-check-certificate --quiet -O - https://cmake.org/files/v3.12/cmake-3.12.3-Linux-x86_64.tar.gz | tar --strip-components=1 -xz
Vitaly Bukaae83ef02017-01-12 13:15:40 -080051 - export PATH=${TRAVIS_BUILD_DIR}/deps/bin:${PATH}
52 - cd -
53
54before_script:
Vitaly Buka9dd2f8e2017-01-13 00:48:31 -080055 - travis_retry wget --quiet -O - https://raw.githubusercontent.com/cpplint/cpplint/master/cpplint.py | python - --recursive src examples
Vitaly Buka886d5432017-01-12 23:58:29 -080056 - mkdir -p build && cd build
Vitaly Buka32165bf2017-01-17 13:37:22 -080057 - rm -rf *
Vitaly Buka487eb302018-10-31 15:18:57 -070058 - cmake .. -GNinja -DLIB_PROTO_MUTATOR_WITH_ASAN=ON -DLIB_PROTO_MUTATOR_DOWNLOAD_PROTOBUF=ON -DCMAKE_C_COMPILER=${CC_COMPILER} -DCMAKE_CXX_COMPILER=${CXX_COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
Vitaly Bukaae83ef02017-01-12 13:15:40 -080059
60script:
Vitaly Buka1c562ab2018-01-15 14:25:10 -080061 - export ASAN_OPTIONS=detect_leaks=0
morehouse0cf14e32017-08-24 16:04:19 -070062 - ninja
morehouse3afcf342017-08-25 14:13:26 -070063 - ninja check