mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
5cdc70b8a1
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.
45 lines
1.7 KiB
Bash
Executable file
45 lines
1.7 KiB
Bash
Executable file
#!/bin/sh
|
|
set -v -x
|
|
if [[ "${TRAVIS_OS_NAME}" == 'linux' ]]; then
|
|
if [[ "${CXX}" == 'clang++' ]]; then
|
|
CMAKE_OPT="-DWITHOUT_TOKUDB_STORAGE_ENGINE=ON -DWITHOUT_MROONGA_STORAGE_ENGINE=ON"
|
|
#CMAKE_OPT="${CMAKE_OPT} -DWITH_ASAN=ON"
|
|
if which ccache ; then
|
|
CMAKE_OPT="${CMAKE_OPT} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
|
|
fi
|
|
export CXX CC=${CXX/++/}
|
|
elif [[ "${CXX}" == 'g++' ]]; then
|
|
CMAKE_OPT=""
|
|
if [[ "${MYSQL_TEST_SUITES}" == 'rpl' ]]; then
|
|
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_TOKUDB_STORAGE_ENGINE=TRUE"
|
|
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_MROONGA_STORAGE_ENGINE=TRUE"
|
|
fi
|
|
export CXX=g++-${CC_VERSION}
|
|
export CC=gcc-${CC_VERSION}
|
|
fi
|
|
if [[ ${CC_VERSION} == 6 ]]; then
|
|
wget http://mirrors.kernel.org/ubuntu/pool/universe/p/percona-xtradb-cluster-galera-2.x/percona-xtradb-cluster-galera-2.x_165-0ubuntu1_amd64.deb ;
|
|
ar vx percona-xtradb-cluster-galera-2.x_165-0ubuntu1_amd64.deb
|
|
tar -xJvf data.tar.xz
|
|
export WSREP_PROVIDER=$PWD/usr/lib/libgalera_smm.so
|
|
MYSQL_TEST_SUITES="${MYSQL_TEST_SUITES},wsrep"
|
|
#elif [[ ${CC_VERSION} != 5 ]]; then
|
|
#CMAKE_OPT="${CMAKE_OPT} -DWITH_ASAN=ON"
|
|
fi
|
|
else
|
|
# osx_image based tests
|
|
CMAKE_OPT="-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl"
|
|
#CMAKE_OPT="${CMAKE_OPT} -DWITH_ASAN=ON"
|
|
if which ccache ; then
|
|
CMAKE_OPT="${CMAKE_OPT} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
|
|
fi
|
|
if [[ "${MYSQL_TEST_SUITES}" == 'rpl' ]]; then
|
|
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_TOKUDB_STORAGE_ENGINE=ON"
|
|
fi
|
|
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_MROONGA_STORAGE_ENGINE=ON"
|
|
if [[ "${TYPE}" == "Debug" ]]; then
|
|
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_TOKUDB_STORAGE_ENGINE=ON"
|
|
fi
|
|
fi
|
|
|
|
set +v +x
|