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.
91 lines
2.4 KiB
YAML
91 lines
2.4 KiB
YAML
git:
|
|
depth: 3
|
|
|
|
sudo: false
|
|
language: cpp
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
include:
|
|
- os: linux
|
|
dist: trusty
|
|
sudo: false
|
|
language: cpp
|
|
addons:
|
|
apt:
|
|
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:
|
|
directories: ['../mysql-5.0']
|
|
env:
|
|
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
|
|
- SDKS=episode1,css,tf2,l4d2,csgo,dota
|
|
- MODE=optimize
|
|
|
|
- os: linux
|
|
dist: trusty
|
|
sudo: false
|
|
language: cpp
|
|
addons:
|
|
apt:
|
|
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:
|
|
directories: ['../mysql-5.0']
|
|
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
|
|
dist: bionic
|
|
sudo: false
|
|
language: cpp
|
|
addons:
|
|
apt:
|
|
packages: ['lib32stdc++6', 'lib32z1-dev', 'libc6-dev-i386', 'linux-libc-dev:i386', 'g++-multilib', 'clang']
|
|
cache:
|
|
directories: ['../mysql-5.0']
|
|
env:
|
|
- MATRIX_EVAL="CC=clang && CXX=clang++"
|
|
- SDKS=csgo
|
|
- MODE=optimize
|
|
|
|
before_script:
|
|
- CHECKOUT_DIR=$PWD && cd .. && $CHECKOUT_DIR/tools/checkout-deps.sh && cd $CHECKOUT_DIR
|
|
script:
|
|
- mkdir build && cd build
|
|
- PATH="~/.local/bin:$PATH"
|
|
- eval "${MATRIX_EVAL}"
|
|
- eval "${CC} --version"
|
|
- eval "${CXX} --version"
|
|
- python ../configure.py --enable-${MODE} --sdks=${SDKS}
|
|
- ambuild
|