Improve Travis coverage.
Our official builds use clang-3.4 (for macOS) and clang-3.8 for Linux. Linux uses libstdc++-4.9. Make sure these two compilers are being tested and that libstdc++-4.9 is being used for STL. Add a macOS builder to get coverage there. This will use a newer clang than we actually use, but as opposed to the linux builder will test the platform-specific bits. Finally, use the latest GCC and clang versions from a bionic image, so we have some coverage of a popular distribution.
This commit is contained in:
parent
f76cb94511
commit
ff018a9a5d
128
.travis.yml
128
.travis.yml
@ -3,110 +3,80 @@ git:
|
|||||||
|
|
||||||
sudo: false
|
sudo: false
|
||||||
language: cpp
|
language: cpp
|
||||||
os: linux
|
|
||||||
dist: trusty
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
- llvm-toolchain-trusty-3.9
|
|
||||||
- llvm-toolchain-trusty-4.0
|
|
||||||
- llvm-toolchain-trusty-5.0
|
|
||||||
packages:
|
|
||||||
- lib32stdc++6
|
|
||||||
- lib32z1-dev
|
|
||||||
- libc6-dev-i386
|
|
||||||
- linux-libc-dev
|
|
||||||
- g++-multilib
|
|
||||||
# - clang-3.6
|
|
||||||
# - clang-3.8
|
|
||||||
# - clang-4.0
|
|
||||||
# - clang-5.0
|
|
||||||
# - g++-6
|
|
||||||
# - g++-6-multilib
|
|
||||||
- clang-3.9
|
|
||||||
- g++-4.8-multilib
|
|
||||||
- g++-4.8
|
|
||||||
- g++-4.9-multilib
|
|
||||||
- g++-4.9
|
|
||||||
- g++-5-multilib
|
|
||||||
- g++-5
|
|
||||||
- g++-7-multilib
|
|
||||||
- g++-7
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- ../mysql-5.0
|
|
||||||
env:
|
|
||||||
- MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9"
|
|
||||||
- MATRIX_EVAL="CC=gcc-4.8 && CXX=g++-4.8"
|
|
||||||
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
|
|
||||||
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
|
|
||||||
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
|
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
include:
|
include:
|
||||||
- os: linux
|
- os: linux
|
||||||
|
dist: trusty
|
||||||
sudo: false
|
sudo: false
|
||||||
language: cpp
|
language: cpp
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages: ['clang-3.6', 'lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev', 'g++-multilib']
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages: ['clang-3.8', 'lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev:i386', 'g++-4.9-multilib']
|
||||||
cache:
|
cache:
|
||||||
directories: ['../mysql-5.0']
|
directories: ['../mysql-5.0']
|
||||||
env: ['MATRIX_EVAL="CC=clang-3.6 && CXX=clang++-3.6"']
|
env:
|
||||||
|
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
|
||||||
|
- SDKS=episode1,css,tf2,l4d2,csgo,dota
|
||||||
|
- MODE=optimize
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
dist: trusty
|
||||||
sudo: false
|
sudo: false
|
||||||
language: cpp
|
language: cpp
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages: ['clang-3.8', 'lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev', 'g++-multilib']
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages: ['clang-3.4', 'lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev:i386', 'g++-4.9-multilib']
|
||||||
cache:
|
cache:
|
||||||
directories: ['../mysql-5.0']
|
directories: ['../mysql-5.0']
|
||||||
env: ['MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"']
|
env:
|
||||||
|
- MATRIX_EVAL="CC=clang && CXX=clang++"
|
||||||
|
- SDKS=episode1,css,tf2,l4d2,csgo,dota
|
||||||
|
- MODE=optimize
|
||||||
|
|
||||||
|
- os: osx
|
||||||
|
osx_image: xcode7.2
|
||||||
|
language: cpp
|
||||||
|
env:
|
||||||
|
- MATRIX_EVAL="CC=clang && CXX=clang++"
|
||||||
|
- SDKS=episode1,css,tf2,l4d2,csgo,dota
|
||||||
|
- MODE=optimize
|
||||||
|
|
||||||
|
# # This is a faster test for the latest g++.
|
||||||
|
# - os: linux
|
||||||
|
# dist: bionic
|
||||||
|
# sudo: false
|
||||||
|
# language: cpp
|
||||||
|
# addons:
|
||||||
|
# apt:
|
||||||
|
# packages: ['lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev:i386', 'g++-multilib', 'g++']
|
||||||
|
# cache:
|
||||||
|
# directories: ['../mysql-5.0']
|
||||||
|
# env:
|
||||||
|
# - MATRIX_EVAL="CC=gcc && CXX=g++"
|
||||||
|
# - SDKS=csgo
|
||||||
|
# # GCC currently fails in opt builds trying to inline stuff in sqlite3.c.
|
||||||
|
# - MODE=debug
|
||||||
|
|
||||||
|
# This is a faster test for the latest clang.
|
||||||
- os: linux
|
- os: linux
|
||||||
|
dist: bionic
|
||||||
sudo: false
|
sudo: false
|
||||||
language: cpp
|
language: cpp
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources: ['llvm-toolchain-trusty-4.0']
|
packages: ['lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev:i386', 'g++-multilib', 'clang']
|
||||||
packages: ['clang-4.0', 'lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev', 'g++-multilib']
|
|
||||||
cache:
|
cache:
|
||||||
directories: ['../mysql-5.0']
|
directories: ['../mysql-5.0']
|
||||||
env: ['MATRIX_EVAL="CC=clang-4.0 && CXX=clang++-4.0"']
|
env:
|
||||||
|
- MATRIX_EVAL="CC=clang && CXX=clang++"
|
||||||
- os: linux
|
- SDKS=csgo
|
||||||
sudo: false
|
- MODE=optimize
|
||||||
language: cpp
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources: ['llvm-toolchain-trusty-5.0']
|
|
||||||
packages: ['clang-5.0', 'lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev', 'g++-multilib']
|
|
||||||
cache:
|
|
||||||
directories: ['../mysql-5.0']
|
|
||||||
env: ['MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"']
|
|
||||||
|
|
||||||
- os: linux
|
|
||||||
sudo: false
|
|
||||||
language: cpp
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources: ['ubuntu-toolchain-r-test']
|
|
||||||
packages: ['g++-6', 'g++-6-multilib', 'lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev', 'g++-multilib']
|
|
||||||
cache:
|
|
||||||
directories: ['../mysql-5.0']
|
|
||||||
env: ['MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"']
|
|
||||||
|
|
||||||
allow_failures:
|
|
||||||
- env: MATRIX_EVAL="CC=clang-3.7 && CXX=clang++-3.7"
|
|
||||||
- env: MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9"
|
|
||||||
- env: MATRIX_EVAL="CC=gcc-4.8 && CXX=g++-4.8"
|
|
||||||
- env: MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
|
|
||||||
- env: MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
|
|
||||||
- env: MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
|
|
||||||
|
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- CHECKOUT_DIR=$PWD && cd .. && $CHECKOUT_DIR/tools/checkout-deps.sh && cd $CHECKOUT_DIR
|
- CHECKOUT_DIR=$PWD && cd .. && $CHECKOUT_DIR/tools/checkout-deps.sh && cd $CHECKOUT_DIR
|
||||||
@ -114,5 +84,7 @@ script:
|
|||||||
- mkdir build && cd build
|
- mkdir build && cd build
|
||||||
- PATH="~/.local/bin:$PATH"
|
- PATH="~/.local/bin:$PATH"
|
||||||
- eval "${MATRIX_EVAL}"
|
- eval "${MATRIX_EVAL}"
|
||||||
- python ../configure.py --enable-optimize --sdks=episode1,css,tf2,l4d2,csgo,dota
|
- eval "${CC} --version"
|
||||||
|
- eval "${CXX} --version"
|
||||||
|
- python ../configure.py --enable-${MODE} --sdks=${SDKS}
|
||||||
- ambuild
|
- ambuild
|
||||||
|
@ -282,7 +282,7 @@ class SMConfig(object):
|
|||||||
'-fvisibility=hidden',
|
'-fvisibility=hidden',
|
||||||
]
|
]
|
||||||
|
|
||||||
if cxx.version == 'apple-clang-6.0':
|
if cxx.version == 'apple-clang-6.0' or cxx.version == 'clang-3.4':
|
||||||
cxx.cxxflags += ['-std=c++1y']
|
cxx.cxxflags += ['-std=c++1y']
|
||||||
else:
|
else:
|
||||||
cxx.cxxflags += ['-std=c++14']
|
cxx.cxxflags += ['-std=c++14']
|
||||||
@ -297,11 +297,11 @@ class SMConfig(object):
|
|||||||
|
|
||||||
have_gcc = cxx.family == 'gcc'
|
have_gcc = cxx.family == 'gcc'
|
||||||
have_clang = cxx.family == 'clang'
|
have_clang = cxx.family == 'clang'
|
||||||
if cxx.version >= 'clang-3.9':
|
if cxx.version >= 'clang-3.9' or cxx.version == 'clang-3.4' or cxx.version > 'apple-clang-6.0':
|
||||||
cxx.cxxflags += ['-Wno-expansion-to-defined']
|
cxx.cxxflags += ['-Wno-expansion-to-defined']
|
||||||
if cxx.version == 'clang-3.9' or cxx.version == 'apple-clang-8.0':
|
if cxx.version == 'clang-3.9' or cxx.version == 'apple-clang-8.0':
|
||||||
cxx.cflags += ['-Wno-varargs']
|
cxx.cflags += ['-Wno-varargs']
|
||||||
if cxx.version >= 'clang-3.6' or cxx.version >= 'apple-clang-7.0':
|
if cxx.version >= 'clang-3.4' or cxx.version >= 'apple-clang-7.0':
|
||||||
cxx.cxxflags += ['-Wno-inconsistent-missing-override']
|
cxx.cxxflags += ['-Wno-inconsistent-missing-override']
|
||||||
if cxx.version >= 'clang-2.9' or cxx.version >= 'apple-clang-3.0':
|
if cxx.version >= 'clang-2.9' or cxx.version >= 'apple-clang-3.0':
|
||||||
cxx.cxxflags += ['-Wno-null-dereference']
|
cxx.cxxflags += ['-Wno-null-dereference']
|
||||||
|
2
tools/checkout-deps.sh
vendored
2
tools/checkout-deps.sh
vendored
@ -136,7 +136,7 @@ if [ $? -eq 1 ]; then
|
|||||||
checkout
|
checkout
|
||||||
|
|
||||||
cd ambuild
|
cd ambuild
|
||||||
if [ $iswin -eq 1 ]; then
|
if [ $iswin -eq 1 ] || [ $ismac -eq 1 ]; then
|
||||||
python setup.py install
|
python setup.py install
|
||||||
else
|
else
|
||||||
python setup.py build
|
python setup.py build
|
||||||
|
Loading…
Reference in New Issue
Block a user