# vim ft=yaml # travis-ci.org definition sudo: false dist: xenial git: depth: 2 language: cpp os: - linux - osx osx_image: xcode10.1 compiler: - gcc - clang cache: timeout: 500 apt: true ccache: true directories: - /usr/local/Cellar # Fails do to permission error: https://github.com/travis-ci/travis-ci/issues/8092 env: matrix: - CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main - CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=archive,optimizer_unfixed_bugs,parts,sys_vars,unit,vcol,innodb,innodb_gis,innodb_zip,innodb_fts - CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl - CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption - CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rocksdb,versioning - CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles - CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main matrix: exclude: - os: osx compiler: gcc - os: osx compiler: clang env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main - os: linux compiler: clang env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main include: - os: linux compiler: gcc env: - DebPackages addons: apt: packages: # make sure these match debian/control contents - bison - chrpath - cmake - debhelper - dh-apparmor - dpatch - gdb - libaio-dev - libboost-dev - libcurl3-dev - libdbd-mysql - 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 - cracklib-runtime - libjemalloc-dev - libsnappy-dev - liblzma-dev - libzmq-dev - libdistro-info-perl - uuid-dev - devscripts - fakeroot - dh-systemd - libsystemd-dev - libzstd-dev - unixodbc-dev script: - ${CC} --version ; ${CXX} --version - env DEB_BUILD_OPTIONS="parallel=4" debian/autobake-deb.sh; # Until OSX becomes a bit more stable: MDEV-12435 MDEV-16213 allow_failures: - os: osx compiler: clang env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl - os: osx compiler: clang env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main - os: osx compiler: clang env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=archive,optimizer_unfixed_bugs,parts,sys_vars,unit,vcol,innodb,innodb_gis,innodb_zip,innodb_fts - os: osx compiler: clang env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption - os: osx compiler: clang env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rocksdb,versioning - os: osx compiler: clang env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles addons: apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-xenial-6.0 - llvm-toolchain-xenial-7 - sourceline: 'deb [arch=amd64,arm64,i386,ppc64el] http://ftp.osuosl.org/pub/mariadb/repo/10.4/ubuntu xenial main' key_url: 'http://keyserver.ubuntu.com/pks/lookup?search=0xF1656F24C74CD1D8&op=get' packages: # make sure these include all compilers and all build dependencies (see list above) - gcc-6 - g++-6 - gcc-7 - g++-7 - gcc-8 - g++-8 - clang-6.0 - llvm-6.0-dev - clang-7 - llvm-7-dev - bison - chrpath - cmake - gdb - galera-4 - libaio-dev - libboost-dev - libcurl3-dev - libdbd-mysql - libjudy-dev - libncurses5-dev - libpam0g-dev - libpcre3-dev - libreadline-gplv2-dev - libstemmer-dev - libssl-dev - libnuma-dev - libxml2-dev - lsb-release - perl - psmisc - zlib1g-dev - libcrack2-dev - cracklib-runtime - libjemalloc-dev - libsnappy-dev - liblzma-dev - libzmq-dev - uuid-dev # libsystemd-daemon-dev # https://github.com/travis-ci/apt-package-whitelist/issues/3882 before_install: - if [[ "${TRAVIS_OS_NAME}" == 'osx' ]]; then brew update; brew install gnutls lz4 lzo xz snappy ccache jemalloc curl ossp-uuid pcre zstd; brew link ccache; export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi before_script: - df -h - ccache --version - ccache --show-stats - ccache --max-size=5G script: # following modules are disabled after sourcing .travis.compiler.sh: # clang disabled: mroonga just generates too many warnings with clang and travis stops the job # cland disabled: tokudb has fatal warnings # gcc/rpl: tokudb and mroonga - source .travis.compiler.sh - cmake . -DCMAKE_BUILD_TYPE=${TYPE} ${CMAKE_OPT} -DWITH_SSL=system -DWITH_ZLIB=system - make -j 4 - cd mysql-test - travis_wait 30 ./mtr --force --max-test-fail=20 --parallel=4 --testcase-timeout=${TEST_CASE_TIMEOUT} --suite=${MYSQL_TEST_SUITES} --skip-test-list=unstable-tests --skip-test=binlog.binlog_unsafe after_script: - ccache --show-stats - df -h notifications: irc: channels: - "chat.freenode.net#maria" on_success: never # [always|never|change] on_failure: never template: - "%{repository}/%{branch} (%{commit} - %{author}): %{build_url}: %{message}"