mariadb/.travis.yml
2017-04-06 11:26:34 -04:00

167 lines
4.6 KiB
YAML

# vim ft=yaml
# travis-ci.org definition
sudo: false
dist: trusty
git:
depth: 2
language: cpp
os:
- linux
compiler:
- gcc
- clang
cache:
apt: true
ccache: true
directories:
- /usr/local
env:
matrix:
- GCC_VERSION=4.8
- GCC_VERSION=5
- GCC_VERSION=6
matrix:
allowed_failures:
- os: osx
env:
- GCC_VERSION=4.8
- GCC_VERSION=5
- GCC_VERSION=6
compiler:
- gcc
- clang
include:
- os: osx
before_install:
- brew update
- brew install homebrew/boneyard/judy gnutls lz4 lzo xz snappy ccache
# Below fixed by: https://github.com/MariaDB/server/pull/347
- sed -i -e 's:/usr/bin/::g' cmake/libutils.cmake
script:
- ccache --version
- cmake .
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl
-DCMAKE_C_COMPILER_LAUNCHER=/usr/local/bin/ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=/usr/local/bin/ccache
-DCMAKE_BUILD_TYPE=Debug
-DWITH_SSL=system -DWITH_ZLIB=system
-DWITHOUT_TOKUDB_STORAGE_ENGINE=ON -DWITHOUT_MROONGA_STORAGE_ENGINE=ON
- make -j 4
- cd mysql-test
- ./mtr --force --parallel=4 --testcase-timeout=2
--suite=main,innodb
--skip-rpl
--skip-test-list=unstable-tests
- ccache --show-stats
# - env:
# - GCC_VERSION=6
# addon:
# coverity_scan:
# # ref: https://scan.coverity.com/travis_ci
# # GitHub project metadata
# project:
# - name: MariaDB/server
# - description: MariaDB Server
#
# # Where email notification of build analysis results will be sent
# notification_email: security@mariadb.org
#
# # Commands to prepare for build_command
# build_command_prepend:
# - source .travis.compiler.sh
# - ${MYSQL_BUILD_CC} --version ; ${MYSQL_BUILD_CXX} --version
# - cmake . {MYSQL_BUILD_CXX:+-DCMAKE_CXX_COMPILER=$${MYSQL_BUILD_CXX}
# {MYSQL_BUILD_CC:+-DCMAKE_C_COMPILER=$${MYSQL_BUILD_CC}
# -DCMAKE_BUILD_TYPE=Debug
# -DWITH_SSL=system -DWITH_ZLIB=system
# -DWITHOUT_TOKUDB_STORAGE_ENGINE=ON -DWITHOUT_MROONGA_STORAGE_ENGINE=ON
#
# # The command that will be added as an argument to "cov-build" to compile your project for analysis,
# build_command: make -j 4
#
# # Pattern to match selecting branches that will run analysis.
# # Take care in resource usage, and consider the build frequency allowances per
# # https://scan.coverity.com/faq#frequency - 7 per week is the current limit.
# branch_pattern: .*coverity.*
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty
- llvm-toolchain-trusty-3.9
- llvm-toolchain-trusty-4.0
packages: # make sure these match debian/control contents
- gcc-5
- g++-5
- gcc-6
- g++-6
- clang-3.8
- llvm-3.8-dev
- clang-3.9
- llvm-3.9-dev
- clang-4.0
- llvm-4.0-dev
- bison
- chrpath
- cmake
- debhelper
- dh-apparmor
- dpatch
- gdb
- libaio-dev
- libboost-dev
- libjudy-dev
- libncurses5-dev
- libpam0g-dev
- libpcre3-dev
- libreadline-gplv2-dev
- libstemmer-dev
- libssl-dev
- libnuma-dev
- libxml2-dev
- lsb-release
- perl
- po-debconf
- psmisc
- zlib1g-dev
- libcrack2-dev
- libjemalloc-dev
- libsnappy-dev
- liblzma-dev
- libzmq-dev
- libdistro-info-perl
- devscripts # implicit for any build on Ubuntu
# libsystemd-daemon-dev # https://github.com/travis-ci/apt-package-whitelist/issues/3882
script:
# mroonga just generates too many warnings with clang and travis stops the job
# tokudb has fatal warnings
- if [[ "${TRAVIS_OS_NAME}" == 'linux' && "${CXX}" == 'clang++' ]]; then
rm -rf "${TRAVIS_BUILD_DIR}"/storage/{mroonga,tokudb};
fi
- source .travis.compiler.sh
- ${MYSQL_BUILD_CC} --version ; ${MYSQL_BUILD_CXX} --version
- cd "${TRAVIS_BUILD_DIR}"
# https://github.com/travis-ci/travis-ci/issues/7062 - /run/shm isn't writable or executable
# in trusty containers
- export MTR_MEM=/tmp
- env DEB_BUILD_OPTIONS="parallel=3" debian/autobake-deb.sh;
- ccache --show-stats
notifications:
irc:
channels:
- "chat.freenode.net#maria"
on_success: never # [always|never|change]
on_failure: never
template:
- "%{repository}/%{branch} (%{commit} - %{author}): %{build_url}: %{message}"