mariadb/.travis.yml

207 lines
5.6 KiB
YAML
Raw Normal View History

# vim ft=yaml
# travis-ci.org definition
sudo: false
dist: xenial
git:
depth: 2
language: cpp
os:
- linux
- osx
2018-11-23 00:28:07 +01:00
osx_image: xcode10.1
compiler:
- gcc
- clang
cache:
timeout: 300
apt: true
MDEV-16213: Improvements and adjustments to Travis config Several improvements have been made so that builds run faster and with fewer canceled jobs: * Set ccache max size to 1GB. Was 512MB for Linux (too low for MariaDB) and 5GB on macOS with defaults; * Don't install libasan in Travis if not necessary. Sicne ASAN is disabled for the time being, save time/resources for other steps; * Decrease number of parallel processes. To prevent resource exhaustion leading to poor performance. According to Travis docs, a max of 4 concurrent processses should be run per job: https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error * Reconsider tests exec order and split huge main and rocksdb test suites into their own job, decreasing the chance of going over the Travis job execution limit and getting killed; * Increase Travis testcase-timeout to 4 minutes. Occasionally on Ubuntu target and frequently on macOS, many tests in main, rpl, binlog suites take longer than 2 minutes, resulting in many jobs failing, when in reality the failing tests didn't get a chance to complete. From my testing, along with the other speedups, i.e. increasing ccache size, a timeout of 4 minutes should be Ok. Revert to 3 minutes of necessary. * Build with GCC and Clang version 5,6 only. * Rename GCC_VERSION to CC_VERSION for clarity. We are using two compilers after all, GCC and Clang. * Stop using somewhat obsolete Clang4 in Travis. Also, was the reason for the failing test suites in MDEV-15430.
2018-05-29 09:26:01 +02:00
ccache: true
directories:
- /usr/local/Cellar # Fails do to permission error: https://github.com/travis-ci/travis-ci/issues/8092
2016-08-24 05:29:09 +02:00
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
- 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
MDEV-16213: Improvements and adjustments to Travis config Several improvements have been made so that builds run faster and with fewer canceled jobs: * Set ccache max size to 1GB. Was 512MB for Linux (too low for MariaDB) and 5GB on macOS with defaults; * Don't install libasan in Travis if not necessary. Sicne ASAN is disabled for the time being, save time/resources for other steps; * Decrease number of parallel processes. To prevent resource exhaustion leading to poor performance. According to Travis docs, a max of 4 concurrent processses should be run per job: https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error * Reconsider tests exec order and split huge main and rocksdb test suites into their own job, decreasing the chance of going over the Travis job execution limit and getting killed; * Increase Travis testcase-timeout to 4 minutes. Occasionally on Ubuntu target and frequently on macOS, many tests in main, rpl, binlog suites take longer than 2 minutes, resulting in many jobs failing, when in reality the failing tests didn't get a chance to complete. From my testing, along with the other speedups, i.e. increasing ccache size, a timeout of 4 minutes should be Ok. Revert to 3 minutes of necessary. * Build with GCC and Clang version 5,6 only. * Rename GCC_VERSION to CC_VERSION for clarity. We are using two compilers after all, GCC and Clang. * Stop using somewhat obsolete Clang4 in Travis. Also, was the reason for the failing test suites in MDEV-15430.
2018-05-29 09:26:01 +02:00
- 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
MDEV-16213: Improvements and adjustments to Travis config Several improvements have been made so that builds run faster and with fewer canceled jobs: * Set ccache max size to 1GB. Was 512MB for Linux (too low for MariaDB) and 5GB on macOS with defaults; * Don't install libasan in Travis if not necessary. Sicne ASAN is disabled for the time being, save time/resources for other steps; * Decrease number of parallel processes. To prevent resource exhaustion leading to poor performance. According to Travis docs, a max of 4 concurrent processses should be run per job: https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error * Reconsider tests exec order and split huge main and rocksdb test suites into their own job, decreasing the chance of going over the Travis job execution limit and getting killed; * Increase Travis testcase-timeout to 4 minutes. Occasionally on Ubuntu target and frequently on macOS, many tests in main, rpl, binlog suites take longer than 2 minutes, resulting in many jobs failing, when in reality the failing tests didn't get a chance to complete. From my testing, along with the other speedups, i.e. increasing ccache size, a timeout of 4 minutes should be Ok. Revert to 3 minutes of necessary. * Build with GCC and Clang version 5,6 only. * Rename GCC_VERSION to CC_VERSION for clarity. We are using two compilers after all, GCC and Clang. * Stop using somewhat obsolete Clang4 in Travis. Also, was the reason for the failing test suites in MDEV-15430.
2018-05-29 09:26:01 +02:00
- os: osx
compiler: clang
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rocksdb
MDEV-16213: Improvements and adjustments to Travis config Several improvements have been made so that builds run faster and with fewer canceled jobs: * Set ccache max size to 1GB. Was 512MB for Linux (too low for MariaDB) and 5GB on macOS with defaults; * Don't install libasan in Travis if not necessary. Sicne ASAN is disabled for the time being, save time/resources for other steps; * Decrease number of parallel processes. To prevent resource exhaustion leading to poor performance. According to Travis docs, a max of 4 concurrent processses should be run per job: https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error * Reconsider tests exec order and split huge main and rocksdb test suites into their own job, decreasing the chance of going over the Travis job execution limit and getting killed; * Increase Travis testcase-timeout to 4 minutes. Occasionally on Ubuntu target and frequently on macOS, many tests in main, rpl, binlog suites take longer than 2 minutes, resulting in many jobs failing, when in reality the failing tests didn't get a chance to complete. From my testing, along with the other speedups, i.e. increasing ccache size, a timeout of 4 minutes should be Ok. Revert to 3 minutes of necessary. * Build with GCC and Clang version 5,6 only. * Rename GCC_VERSION to CC_VERSION for clarity. We are using two compilers after all, GCC and Clang. * Stop using somewhat obsolete Clang4 in Travis. Also, was the reason for the failing test suites in MDEV-15430.
2018-05-29 09:26:01 +02:00
- 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:
2016-08-24 05:29:09 +02:00
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-6.0
- llvm-toolchain-xenial-7
packages: # make sure these include all compilers and all build dependencies (see list above)
2016-08-24 05:29:09 +02:00
- gcc-6
- g++-6
- gcc-7
- g++-7
- gcc-8
- g++-8
MDEV-16213: Improvements and adjustments to Travis config Several improvements have been made so that builds run faster and with fewer canceled jobs: * Set ccache max size to 1GB. Was 512MB for Linux (too low for MariaDB) and 5GB on macOS with defaults; * Don't install libasan in Travis if not necessary. Sicne ASAN is disabled for the time being, save time/resources for other steps; * Decrease number of parallel processes. To prevent resource exhaustion leading to poor performance. According to Travis docs, a max of 4 concurrent processses should be run per job: https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error * Reconsider tests exec order and split huge main and rocksdb test suites into their own job, decreasing the chance of going over the Travis job execution limit and getting killed; * Increase Travis testcase-timeout to 4 minutes. Occasionally on Ubuntu target and frequently on macOS, many tests in main, rpl, binlog suites take longer than 2 minutes, resulting in many jobs failing, when in reality the failing tests didn't get a chance to complete. From my testing, along with the other speedups, i.e. increasing ccache size, a timeout of 4 minutes should be Ok. Revert to 3 minutes of necessary. * Build with GCC and Clang version 5,6 only. * Rename GCC_VERSION to CC_VERSION for clarity. We are using two compilers after all, GCC and Clang. * Stop using somewhat obsolete Clang4 in Travis. Also, was the reason for the failing test suites in MDEV-15430.
2018-05-29 09:26:01 +02:00
- clang-6.0
- llvm-6.0-dev
- clang-7
- llvm-7-dev
- bison
- chrpath
- cmake
- 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
- psmisc
- zlib1g-dev
- libcrack2-dev
- cracklib-runtime
- libjemalloc-dev
- libsnappy-dev
- liblzma-dev
- libzmq-dev
2017-06-06 06:52:06 +02:00
- 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;
brew link ccache;
fi
before_script:
- df -h
- ccache --version
MDEV-16213: Improvements and adjustments to Travis config Several improvements have been made so that builds run faster and with fewer canceled jobs: * Set ccache max size to 1GB. Was 512MB for Linux (too low for MariaDB) and 5GB on macOS with defaults; * Don't install libasan in Travis if not necessary. Sicne ASAN is disabled for the time being, save time/resources for other steps; * Decrease number of parallel processes. To prevent resource exhaustion leading to poor performance. According to Travis docs, a max of 4 concurrent processses should be run per job: https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error * Reconsider tests exec order and split huge main and rocksdb test suites into their own job, decreasing the chance of going over the Travis job execution limit and getting killed; * Increase Travis testcase-timeout to 4 minutes. Occasionally on Ubuntu target and frequently on macOS, many tests in main, rpl, binlog suites take longer than 2 minutes, resulting in many jobs failing, when in reality the failing tests didn't get a chance to complete. From my testing, along with the other speedups, i.e. increasing ccache size, a timeout of 4 minutes should be Ok. Revert to 3 minutes of necessary. * Build with GCC and Clang version 5,6 only. * Rename GCC_VERSION to CC_VERSION for clarity. We are using two compilers after all, GCC and Clang. * Stop using somewhat obsolete Clang4 in Travis. Also, was the reason for the failing test suites in MDEV-15430.
2018-05-29 09:26:01 +02:00
- ccache --show-stats
- ccache --max-size=5G
script:
MDEV-16213: Improvements and adjustments to Travis config Several improvements have been made so that builds run faster and with fewer canceled jobs: * Set ccache max size to 1GB. Was 512MB for Linux (too low for MariaDB) and 5GB on macOS with defaults; * Don't install libasan in Travis if not necessary. Sicne ASAN is disabled for the time being, save time/resources for other steps; * Decrease number of parallel processes. To prevent resource exhaustion leading to poor performance. According to Travis docs, a max of 4 concurrent processses should be run per job: https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error * Reconsider tests exec order and split huge main and rocksdb test suites into their own job, decreasing the chance of going over the Travis job execution limit and getting killed; * Increase Travis testcase-timeout to 4 minutes. Occasionally on Ubuntu target and frequently on macOS, many tests in main, rpl, binlog suites take longer than 2 minutes, resulting in many jobs failing, when in reality the failing tests didn't get a chance to complete. From my testing, along with the other speedups, i.e. increasing ccache size, a timeout of 4 minutes should be Ok. Revert to 3 minutes of necessary. * Build with GCC and Clang version 5,6 only. * Rename GCC_VERSION to CC_VERSION for clarity. We are using two compilers after all, GCC and Clang. * Stop using somewhat obsolete Clang4 in Travis. Also, was the reason for the failing test suites in MDEV-15430.
2018-05-29 09:26:01 +02:00
# 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
MDEV-16213: Improvements and adjustments to Travis config Several improvements have been made so that builds run faster and with fewer canceled jobs: * Set ccache max size to 1GB. Was 512MB for Linux (too low for MariaDB) and 5GB on macOS with defaults; * Don't install libasan in Travis if not necessary. Sicne ASAN is disabled for the time being, save time/resources for other steps; * Decrease number of parallel processes. To prevent resource exhaustion leading to poor performance. According to Travis docs, a max of 4 concurrent processses should be run per job: https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error * Reconsider tests exec order and split huge main and rocksdb test suites into their own job, decreasing the chance of going over the Travis job execution limit and getting killed; * Increase Travis testcase-timeout to 4 minutes. Occasionally on Ubuntu target and frequently on macOS, many tests in main, rpl, binlog suites take longer than 2 minutes, resulting in many jobs failing, when in reality the failing tests didn't get a chance to complete. From my testing, along with the other speedups, i.e. increasing ccache size, a timeout of 4 minutes should be Ok. Revert to 3 minutes of necessary. * Build with GCC and Clang version 5,6 only. * Rename GCC_VERSION to CC_VERSION for clarity. We are using two compilers after all, GCC and Clang. * Stop using somewhat obsolete Clang4 in Travis. Also, was the reason for the failing test suites in MDEV-15430.
2018-05-29 09:26:01 +02:00
- 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}"