Travis CI: reworking the whole compiler matrix from scratch

This commit is contained in:
Sébastien Rombauts 2019-12-26 18:46:23 +01:00
parent 8dbdbcac77
commit 3c60b8ce3c

View File

@ -1,244 +1,92 @@
# Copyright (c) 2012-2020 Sebastien Rombauts (sebastien.rombauts@gmail.com) # Copyright (c) 2012-2020 Sebastien Rombauts (sebastien.rombauts@gmail.com)
# request for Ubuntu 14.04 Trusty VM language: cpp
sudo: true sudo: false
dist: trusty
# Use Linux unless specified otherwise
os: linux
cache: cache:
apt: true apt: true
# NOTE: no language, so that we can set CXX and CC env vars as required
#language: cpp
matrix: matrix:
include: include:
# gcc default (4.8)
- compiler: gcc ##########################################################################
# GCC on Linux
##########################################################################
- dist: bionic
env: env:
- CC=gcc - cc=gcc
- CXX=g++ - cxx=g++
- CXXFLAGS="-Wall -Wextra -pedantic" - CXXFLAGS=""
# gcc 4.9 std=default - COVERALLS=true
- compiler: gcc
addons:
apt: - dist: xenial
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env: env:
- CC=gcc-4.9 - cc=gcc
- CXX=g++-4.9 - cxx=g++
- CXXFLAGS="-Wall -Wextra -pedantic" - CXXFLAGS=""
# gcc 5 std=c++03
- compiler: gcc - dist: trusty
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env: env:
- CC=gcc-5 - cc=gcc
- CXX=g++-5 - cxx=g++
- CXXFLAGS="-std=c++03 -Wall -Wextra -pedantic" - CXXFLAGS=""
# gcc 5 std=c++11
- compiler: gcc ##########################################################################
addons: # Clang on Linux
apt: ##########################################################################
sources:
- ubuntu-toolchain-r-test - dist: bionic
packages:
- g++-5
env: env:
- CC=gcc-5 - cc=clang
- CXX=g++-5 - cxx=clang++
- CXXFLAGS="-std=c++11 -Wall -Wextra -pedantic" - CXXFLAGS=""
# gcc 5 default
- compiler: gcc - dist: xenial
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env: env:
- CC=gcc-5 - cc=clang
- CXX=g++-5 - cxx=clang++
- CXXFLAGS="-Wall -Wextra -pedantic" - CXXFLAGS=""
# gcc 5 std=c++11
- compiler: gcc - dist: trusty
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env: env:
- CC=gcc-5 - cc=clang
- CXX=g++-5 - cxx=clang++
- CXXFLAGS="-std=c++11 -Wall -Wextra -pedantic" - CXXFLAGS=""
# gcc 5 std=c++14
- compiler: gcc ##########################################################################
addons: # Clang on OSX
apt: ##########################################################################
sources:
- ubuntu-toolchain-r-test # Latest XCode
packages: - os: osx
- g++-5
env: env:
- CC=gcc-5 - cc=clang
- CXX=g++-5 - cxx=clang++
- CXXFLAGS="-std=c++14 -Wall -Wextra -pedantic" - CXXFLAGS=""
# gcc 5 std=c++1z
- compiler: gcc # XCode 8.3
addons: - os: osx
apt: osx_image: xcode8.3
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env: env:
- CC=gcc-5 - cc=clang
- CXX=g++-5 - cxx=clang++
- CXXFLAGS="-std=c++1z -Wall -Wextra -pedantic" - CXXFLAGS=""
# gcc 6.5 std=c++14 (default standard)
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- CC=gcc-6
- CXX=g++-6
- CXXFLAGS="-std=c++14 -Wall -Wextra -pedantic"
# gcc 6.5 std=c++1z
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- CC=gcc-6
- CXX=g++-6
- CXXFLAGS="-std=c++1z -Wall -Wextra -pedantic"
# gcc 7.4 std=c++14 (default standard)
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- CC=gcc-7
- CXX=g++-7
- CXXFLAGS="-std=c++14 -Wall -Wextra -pedantic"
# gcc 7.4 std=c++17
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- CC=gcc-7
- CXX=g++-7
- CXXFLAGS="-std=c++17 -Wall -Wextra -pedantic"
# gcc 8 std=c++14 (default standard)
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- CC=gcc-8
- CXX=g++-8
- CXXFLAGS="-std=c++14 -Wall -Wextra -pedantic"
# gcc 8 std=c++17
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- CC=gcc-8
- CXX=g++-8
- CXXFLAGS="-std=c++17 -Wall -Wextra -pedantic"
# gcc 8 std=c++2a
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- CC=gcc-8
- CXX=g++-8
- CXXFLAGS="-std=c++2a -Wall -Wextra -pedantic"
# gcc 9 std=c++14 (default standard)
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-9
env:
- CC=gcc-9
- CXX=g++-9
- CXXFLAGS="-std=c++14 -Wall -Wextra -pedantic"
# TODO: issue with ExecuteMany and Bind helper function
# # gcc 9 std=c++17
# - compiler: gcc
# addons:
# apt:
# sources:
# - ubuntu-toolchain-r-test
# packages:
# - g++-9
# env:
# - CC=gcc-9
# - CXX=g++-9
# - CXXFLAGS="-std=c++17 -Wall -Wextra -pedantic"
# # gcc 9 std=c++2a
# - compiler: gcc
# addons:
# apt:
# sources:
# - ubuntu-toolchain-r-test
# packages:
# - g++-9
# env:
# - CC=gcc-9
# - CXX=g++-9
# - CXXFLAGS="-std=c++2a -Wall -Wextra -pedantic"
# clang default
- compiler: clang
env:
- CC=clang
- CXX=clang++
# os x
- compiler: clang
os: osx
env:
- CC=clang
- CXX=clang
- CXXFLAGS=-lstdc++
before_install: before_install:
# Set the compiler environment variables properly
- export CC=${cc}
- export CXX=${cxx}
- ${CC} --version
- ${CXX} --version
install:
# coveralls test coverage: # coveralls test coverage:
- if [[ "$CXX" == "g++" ]]; then pip install --user cpp-coveralls ; fi - if [[ "$COVERALLS" == "true" ]]; then pip install --user cpp-coveralls ; fi
# scripts to run before build # scripts to run before build
before_script: before_script:
@ -249,8 +97,9 @@ before_script:
# build examples, and run tests (ie make & make test) # build examples, and run tests (ie make & make test)
script: script:
- cmake --build . - cmake --build .
- export ASAN_OPTIONS=verbosity=1:debug=1
- ctest --verbose --output-on-failure - ctest --verbose --output-on-failure
# generate and publish GCov coveralls results # generate and publish GCov coveralls results
after_success: after_success:
- if [[ "$CXX" == "g++" ]]; then coveralls --root .. -e examples -e googletest -e sqlite3 -e tests -E ".*feature_tests.*" -E ".*CompilerId.*" --gcov-options '\-lp' ; fi - if [[ "$COVERALLS" == "true" ]]; then coveralls --root .. -e examples -e googletest -e sqlite3 -e tests -E ".*feature_tests.*" -E ".*CompilerId.*" --gcov-options '\-lp' ; fi