82 lines
2.0 KiB
YAML
82 lines
2.0 KiB
YAML
language: generic
|
|
|
|
matrix:
|
|
include:
|
|
# clang-tidy/format specific job
|
|
- os: linux
|
|
sudo: false
|
|
env: CLANG_FORMAT CLANG_TIDY
|
|
addons:
|
|
apt:
|
|
sources: [ 'ubuntu-toolchain-r-test' ]
|
|
packages: [ 'libstdc++6', 'libstdc++-5-dev' ]
|
|
script:
|
|
- make tidy
|
|
- make format
|
|
- os: linux
|
|
sudo: false
|
|
env: CXX=g++-4.9
|
|
addons:
|
|
apt:
|
|
sources: [ 'ubuntu-toolchain-r-test' ]
|
|
packages: [ 'g++-4.9' ]
|
|
- os: linux
|
|
sudo: false
|
|
env: CXX=g++-5
|
|
addons:
|
|
apt:
|
|
sources: [ 'ubuntu-toolchain-r-test' ]
|
|
packages: [ 'g++-5' ]
|
|
- os: linux
|
|
sudo: false
|
|
env: CXX=clang++
|
|
addons:
|
|
apt:
|
|
sources: [ 'ubuntu-toolchain-r-test' ]
|
|
packages: [ 'libstdc++6', 'libstdc++-5-dev' ]
|
|
- os: linux
|
|
sudo: required
|
|
env: CXXFLAGS="-fsanitize=address,undefined,integer -fno-sanitize-recover=all"
|
|
addons:
|
|
apt:
|
|
sources: [ 'ubuntu-toolchain-r-test' ]
|
|
packages: [ 'libstdc++6', 'libstdc++-5-dev' ]
|
|
# coverage build
|
|
- os: linux
|
|
sudo: false
|
|
env: CXXFLAGS="--coverage" LDFLAGS="--coverage"
|
|
addons:
|
|
apt:
|
|
sources: [ 'ubuntu-toolchain-r-test' ]
|
|
packages: [ 'libstdc++6', 'libstdc++-5-dev' ]
|
|
script:
|
|
- make debug
|
|
- make test
|
|
# MASON_LLVM_RELEASE comes from the setup.sh script
|
|
- mason install llvm-cov ${MASON_LLVM_RELEASE}
|
|
- mason link llvm-cov ${MASON_LLVM_RELEASE}
|
|
- curl -S -f https://codecov.io/bash -o codecov
|
|
- chmod +x codecov
|
|
- ./codecov -x "llvm-cov gcov" -Z
|
|
|
|
env:
|
|
global:
|
|
- CMAKE_VERSION="3.8.2"
|
|
|
|
install:
|
|
# set up the environment by installing mason and clang++
|
|
- ./scripts/setup.sh --config local.env
|
|
# put mason and clang++ on PATH
|
|
- source local.env
|
|
- mason install cmake ${CMAKE_VERSION}
|
|
- mason link cmake ${CMAKE_VERSION}
|
|
- which cmake
|
|
|
|
script:
|
|
- make release
|
|
- make test
|
|
- make clean
|
|
- make debug
|
|
- make test
|
|
- make clean
|