2016-08-18 10:47:20 +02:00
|
|
|
# vim ft=yaml
|
|
|
|
# travis-ci.org definition
|
|
|
|
|
2020-03-28 16:05:11 +01:00
|
|
|
dist: bionic
|
2016-08-18 10:47:20 +02:00
|
|
|
|
2017-04-02 12:20:32 +02:00
|
|
|
git:
|
|
|
|
depth: 2
|
|
|
|
|
2016-08-18 10:47:20 +02:00
|
|
|
language: cpp
|
2020-03-18 09:36:52 +01:00
|
|
|
|
2016-08-18 10:47:20 +02:00
|
|
|
cache:
|
2018-12-26 17:55:54 +01:00
|
|
|
timeout: 500
|
2017-04-02 12:20:32 +02:00
|
|
|
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
|
2017-04-02 12:20:32 +02:00
|
|
|
directories:
|
2017-11-17 05:18:16 +01:00
|
|
|
- /usr/local/Cellar # Fails do to permission error: https://github.com/travis-ci/travis-ci/issues/8092
|
2016-08-18 10:47:20 +02:00
|
|
|
|
2020-01-28 14:51:20 +01:00
|
|
|
addons:
|
|
|
|
apt:
|
2020-03-18 09:36:52 +01:00
|
|
|
# NOTE: Travis-CI Ubuntu Xenial builders have GCC 5 and Clang 7 available by default
|
|
|
|
# NOTE: Travis-CI Ubuntu Ubuntu builders have GCC 7 and Clang 7 available by default
|
2020-01-28 14:51:20 +01:00
|
|
|
sources: &add-sources
|
2020-03-18 09:36:52 +01:00
|
|
|
- ubuntu-toolchain-r-test # Includes e.g. gcc4-9 for xenial, gcc9 for bionic
|
|
|
|
# https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages?field.name_filter=&field.status_filter=published&field.series_filter=xenial
|
|
|
|
- llvm-toolchain-xenial-7 # NOTE: This repo has no clang-7 for s390x
|
|
|
|
- sourceline: 'ppa:maria-captains/travis-ci-helper-repo'
|
|
|
|
# https://launchpad.net/~maria-captains/+archive/ubuntu/travis-ci-helper-repo/+packages
|
2020-03-18 08:54:14 +01:00
|
|
|
packages: &common-packages
|
2020-01-28 14:51:20 +01:00
|
|
|
# make sure these include all compilers and all build dependencies (see list above)
|
|
|
|
- bison
|
|
|
|
- chrpath
|
2020-03-18 09:36:52 +01:00
|
|
|
- clang-7 # bionic-updates, llvm-toolchain-xenial-6.0 (amd64 only, not s390x)
|
|
|
|
- clang-8 # xenial, bionic
|
2020-01-28 14:51:20 +01:00
|
|
|
- cmake
|
2020-03-18 08:54:14 +01:00
|
|
|
- cracklib-runtime
|
2020-03-18 09:36:52 +01:00
|
|
|
- galera-4
|
|
|
|
- g++-5 # xenial, bionic, ubuntu-toolchain-r/test (xenial)
|
|
|
|
- g++-7 # bionic, ubuntu-toolchain-r/test (xenial)
|
|
|
|
- g++-8 # bionic, ubuntu-toolchain-r/test (xenial)
|
|
|
|
- g++-9 # ubuntu-toolchain-r/test (xenial and bionic)
|
2020-01-28 14:51:20 +01:00
|
|
|
- gdb
|
|
|
|
- libaio-dev
|
|
|
|
- libboost-dev
|
2020-03-18 08:54:14 +01:00
|
|
|
- libcrack2-dev
|
2020-01-28 14:51:20 +01:00
|
|
|
- libcurl3-dev
|
|
|
|
- libdbd-mysql
|
2020-04-04 21:53:00 +02:00
|
|
|
- libedit-dev
|
2020-03-18 08:54:14 +01:00
|
|
|
- libjemalloc-dev
|
2020-01-28 14:51:20 +01:00
|
|
|
- libjudy-dev
|
2020-04-04 21:53:00 +02:00
|
|
|
- liblz4-dev
|
2020-01-28 14:51:20 +01:00
|
|
|
- libncurses5-dev
|
2020-03-18 08:54:14 +01:00
|
|
|
- libnuma-dev
|
2020-01-28 14:51:20 +01:00
|
|
|
- libpam0g-dev
|
2020-03-16 15:13:16 +01:00
|
|
|
- libpcre2-dev
|
2020-03-18 08:54:14 +01:00
|
|
|
- libsnappy-dev
|
2020-01-28 14:51:20 +01:00
|
|
|
- libssl-dev
|
2020-03-18 08:54:14 +01:00
|
|
|
- libstemmer-dev
|
2020-01-28 14:51:20 +01:00
|
|
|
- libxml2-dev
|
|
|
|
- lsb-release
|
|
|
|
- perl
|
|
|
|
- psmisc
|
|
|
|
- uuid-dev
|
2020-03-18 08:54:14 +01:00
|
|
|
- zlib1g-dev
|
2020-03-19 15:18:39 +01:00
|
|
|
# libsystemd-daemon-dev # https://github.com/travis-ci/apt-package-whitelist/issues/3882
|
|
|
|
homebrew:
|
|
|
|
# Temporary workaround, remove when this is solved:
|
|
|
|
# https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296/20
|
|
|
|
update: true
|
|
|
|
# OSX builds are not properly maintained on Travis-CI nor buildbot and
|
|
|
|
# thus this list of dependencies is likely to be inaccurate.
|
|
|
|
packages:
|
|
|
|
- bison
|
|
|
|
- boost
|
|
|
|
- ccache
|
|
|
|
- cmake
|
|
|
|
- cracklib
|
|
|
|
- curl
|
|
|
|
- gnutls
|
|
|
|
- groonga
|
|
|
|
- jemalloc
|
|
|
|
- libxml2
|
|
|
|
- lz4
|
|
|
|
- lzo
|
|
|
|
- ncurses
|
|
|
|
- openssl@1.1
|
|
|
|
- ossp-uuid
|
|
|
|
- pcre2
|
|
|
|
- perl
|
|
|
|
- pkg-config
|
|
|
|
- readline
|
|
|
|
- snappy
|
|
|
|
- xz
|
|
|
|
- zlib
|
|
|
|
- zstd
|
2020-01-28 14:51:20 +01:00
|
|
|
|
2020-03-19 15:35:40 +01:00
|
|
|
## Build jobs matrix
|
|
|
|
# The jobs matrix consists of all the combinations of 'arch', 'os', 'compiler'
|
|
|
|
# and 'env'. Ensure there is a good variation of architectures and at least the
|
|
|
|
# main suite is run on all architectures, as the main test suite needs to pass
|
|
|
|
# on all architectures (amd64, arm64, ppc64le, s390x) before a release is made.
|
|
|
|
# All test suites should also run on the clang build at least on one
|
|
|
|
# arch/platform. In gcc and clang versions prefer 7, which is very widely used,
|
|
|
|
# and after that prioritize newer versions (8, 9 etc) above older versions (5, 6).
|
|
|
|
arch: amd64
|
2020-03-19 15:18:39 +01:00
|
|
|
os: linux
|
2020-03-18 09:36:52 +01:00
|
|
|
compiler:
|
|
|
|
- gcc
|
|
|
|
- clang
|
|
|
|
env:
|
2020-03-27 22:08:16 +01:00
|
|
|
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=archive,optimizer_unfixed_bugs,parts,sys_vars,unit,vcol,innodb,innodb_gis,innodb_zip,innodb_fts
|
|
|
|
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption,rocksdb,versioning,rpl
|
2020-03-18 09:36:52 +01:00
|
|
|
- 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
|
2017-03-17 02:50:21 +01:00
|
|
|
|
2020-03-18 08:54:14 +01:00
|
|
|
jobs:
|
2020-03-18 09:36:52 +01:00
|
|
|
# Define extra jobs that are run in addition to the main jobs matrix
|
2017-04-02 12:20:32 +02:00
|
|
|
include:
|
2017-04-10 11:11:01 +02:00
|
|
|
- os: linux
|
2020-03-28 16:05:11 +01:00
|
|
|
dist: xenial
|
2017-04-10 11:11:01 +02:00
|
|
|
compiler: gcc
|
2020-03-18 09:36:52 +01:00
|
|
|
env: DebPackages=xenial
|
|
|
|
addons: &deb-addons
|
2017-07-07 02:19:02 +02:00
|
|
|
apt:
|
2020-02-11 06:59:19 +01:00
|
|
|
sources: *add-sources
|
2020-03-18 08:54:14 +01:00
|
|
|
# make sure these match debian/control contents
|
2020-03-18 09:36:52 +01:00
|
|
|
packages:
|
2020-03-18 08:54:14 +01:00
|
|
|
- *common-packages
|
|
|
|
- debhelper
|
|
|
|
- devscripts
|
|
|
|
- dh-apparmor
|
|
|
|
- dh-exec
|
|
|
|
- dh-systemd
|
|
|
|
- fakeroot
|
|
|
|
- libdistro-info-perl
|
|
|
|
- libsystemd-dev
|
|
|
|
- libzstd-dev
|
|
|
|
- po-debconf
|
|
|
|
- unixodbc-dev
|
2020-03-18 09:36:52 +01:00
|
|
|
script: &deb-script
|
2017-04-10 11:11:01 +02:00
|
|
|
- ${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;
|
2020-01-28 14:51:20 +01:00
|
|
|
- os: linux
|
|
|
|
arch: s390x
|
|
|
|
compiler: gcc
|
2020-03-18 09:36:52 +01:00
|
|
|
env: DebPackages=bionic
|
|
|
|
addons: *deb-addons
|
|
|
|
script: *deb-script
|
2020-03-19 15:18:39 +01:00
|
|
|
# Just one OS X build is enough
|
|
|
|
- os: osx
|
2020-04-05 08:39:23 +02:00
|
|
|
osx_image: xcode11.3
|
2020-03-19 15:18:39 +01:00
|
|
|
compiler: clang
|
|
|
|
env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
2020-03-18 09:36:52 +01:00
|
|
|
# Some chosen ones with s390x and gcc
|
2020-01-28 14:51:20 +01:00
|
|
|
- os: linux
|
|
|
|
arch: s390x
|
|
|
|
compiler: gcc
|
2020-03-19 15:35:40 +01:00
|
|
|
env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
2020-01-28 14:51:20 +01:00
|
|
|
- os: linux
|
|
|
|
arch: s390x
|
|
|
|
compiler: gcc
|
2020-03-27 22:08:16 +01:00
|
|
|
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption,rocksdb,versioning,rpl
|
2020-03-18 09:36:52 +01:00
|
|
|
# Some chosen ones with s390x and clang
|
2020-01-28 14:51:20 +01:00
|
|
|
- os: linux
|
|
|
|
arch: s390x
|
|
|
|
compiler: clang
|
2020-03-27 22:08:16 +01:00
|
|
|
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=archive,optimizer_unfixed_bugs,parts,sys_vars,unit,vcol,innodb,innodb_gis,innodb_zip,innodb_fts
|
2020-01-28 14:51:20 +01:00
|
|
|
- os: linux
|
|
|
|
arch: s390x
|
|
|
|
compiler: clang
|
2020-03-19 15:35:40 +01:00
|
|
|
env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles
|
2020-03-27 22:08:16 +01:00
|
|
|
# Extra tests to ensure IBM Power and ARM 64 work
|
2020-01-28 14:51:20 +01:00
|
|
|
- os: linux
|
2020-03-19 15:35:40 +01:00
|
|
|
arch: ppc64le
|
|
|
|
compiler: gcc
|
|
|
|
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
2020-01-28 14:51:20 +01:00
|
|
|
- os: linux
|
2020-03-19 15:35:40 +01:00
|
|
|
arch: arm64
|
|
|
|
compiler: gcc
|
|
|
|
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
2020-03-18 09:36:52 +01:00
|
|
|
|
2017-06-08 06:01:19 +02:00
|
|
|
allow_failures:
|
2020-03-27 22:08:16 +01:00
|
|
|
# Permanently fails on main.thread_pool_info test (MDEV-20372)
|
2020-03-18 09:36:52 +01:00
|
|
|
- os: linux
|
|
|
|
arch: amd64
|
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
|
|
|
compiler: clang
|
2020-03-18 09:36:52 +01:00
|
|
|
env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
2020-03-27 22:08:16 +01:00
|
|
|
# Sporadically fails on main.thread_pool_info test (MDEV-20372)
|
|
|
|
- arch: ppc64le
|
|
|
|
- arch: arm64
|
2020-03-19 15:18:39 +01:00
|
|
|
# Until OSX becomes a bit more stable
|
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
|
2016-12-12 06:42:25 +01:00
|
|
|
|
2017-04-10 11:11:01 +02:00
|
|
|
before_install:
|
|
|
|
- if [[ "${TRAVIS_OS_NAME}" == 'osx' ]]; then
|
|
|
|
brew update;
|
2018-05-23 06:58:13 +02:00
|
|
|
brew install gnutls lz4 lzo xz snappy ccache jemalloc curl ossp-uuid pcre zstd;
|
2017-04-10 11:11:01 +02:00
|
|
|
brew link ccache;
|
2018-12-26 17:55:54 +01:00
|
|
|
export PATH="/usr/local/opt/ccache/libexec:$PATH";
|
2017-04-10 11:11:01 +02:00
|
|
|
fi
|
|
|
|
|
2018-06-29 10:17:28 +02:00
|
|
|
before_script:
|
|
|
|
- df -h
|
2017-04-10 11:11:01 +02:00
|
|
|
- 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
|
2018-12-25 13:01:13 +01:00
|
|
|
- ccache --max-size=5G
|
2018-06-29 10:17:28 +02:00
|
|
|
|
|
|
|
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
|
2017-03-17 02:50:21 +01:00
|
|
|
- source .travis.compiler.sh
|
2017-04-10 11:11:01 +02:00
|
|
|
- cmake .
|
|
|
|
-DCMAKE_BUILD_TYPE=${TYPE}
|
|
|
|
${CMAKE_OPT}
|
2018-06-29 10:17:28 +02:00
|
|
|
-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
|
2017-04-10 11:11:01 +02:00
|
|
|
- cd mysql-test
|
2018-06-29 10:17:28 +02:00
|
|
|
- travis_wait 30 ./mtr --force --max-test-fail=20 --parallel=4 --testcase-timeout=${TEST_CASE_TIMEOUT}
|
2017-04-10 11:11:01 +02:00
|
|
|
--suite=${MYSQL_TEST_SUITES}
|
|
|
|
--skip-test-list=unstable-tests
|
|
|
|
--skip-test=binlog.binlog_unsafe
|
2018-12-25 13:01:13 +01:00
|
|
|
|
|
|
|
after_script:
|
2017-03-17 02:50:21 +01:00
|
|
|
- ccache --show-stats
|
2018-06-29 10:17:28 +02:00
|
|
|
- df -h
|
2016-08-18 10:47:20 +02:00
|
|
|
|
|
|
|
notifications:
|
|
|
|
irc:
|
|
|
|
channels:
|
|
|
|
- "chat.freenode.net#maria"
|
|
|
|
on_success: never # [always|never|change]
|
|
|
|
on_failure: never
|
|
|
|
template:
|
|
|
|
- "%{repository}/%{branch} (%{commit} - %{author}): %{build_url}: %{message}"
|