mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
139c85aafd
Move 'encryption' tests to another job, since the 'binlog' and 'rpl' tests are so slow and often make the job timeout (after 50 minutes). Allow failure in ppc64el as it frequently fails due to out-of-memory. A simple restart often fixes it, but we can't depend on restarts. Also re-enable arm64 as MDEV-23955 is now fixed. MERGING: This commit is OK to merge 10.6 and upwards.
241 lines
7.6 KiB
YAML
241 lines
7.6 KiB
YAML
# vim ft=yaml
|
|
# travis-ci.org definition
|
|
|
|
# NOTE TO MERGERS: Most of the contents in the Travis-CI configuration has been
|
|
# tailored for a specific release or MariaDB. As a general rule, do not merge
|
|
# changes in this file across MariaDB branches to avoid breaking the CI. Updates
|
|
# the the Travis-CI pipeline are most of the time better done manually.
|
|
|
|
dist: focal
|
|
|
|
git:
|
|
depth: 2
|
|
|
|
language: cpp
|
|
|
|
cache:
|
|
timeout: 500
|
|
apt: true
|
|
ccache: true
|
|
|
|
addons:
|
|
apt:
|
|
sources: &add-sources
|
|
# Remember to document well what packages each extra repository is used for
|
|
- ubuntu-toolchain-r-test
|
|
# => gcc-9 and gcc-10 for Ubuntu Bionic
|
|
# https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages?field.name_filter=&field.status_filter=published&field.series_filter=bionic
|
|
- sourceline: 'ppa:maria-captains/travis-ci-helper-repo'
|
|
# => galera-4 for Ubuntu Bionic
|
|
# https://launchpad.net/~maria-captains/+archive/ubuntu/travis-ci-helper-repo/+packages?field.name_filter=&field.status_filter=published&field.series_filter=bionic
|
|
packages: &common-packages
|
|
# Remember to update this list if the Debian build dependencies are updated
|
|
- bison
|
|
- chrpath
|
|
- clang-7 # In suites: focal, bionic-updates
|
|
- clang-10 # In suites: focal, bionic
|
|
- cmake
|
|
- cracklib-runtime
|
|
- galera-4 # In suites: focal, bionic (via ppa:maria-captains/travis-ci-helper-repo)
|
|
- g++-7 # In suites: focal, bionic
|
|
- g++-10 # In suites: focal, bionic (via ppa:ubuntu-toolchain-r/test)
|
|
- gdb
|
|
- libaio-dev
|
|
- libboost-atomic-dev
|
|
- libboost-chrono-dev
|
|
- libboost-date-time-dev
|
|
- libboost-dev
|
|
- libboost-filesystem-dev
|
|
- libboost-regex-dev
|
|
- libboost-system-dev
|
|
- libboost-thread-dev
|
|
- libcrack2-dev
|
|
- libcurl3-dev
|
|
- libdbd-mysql
|
|
- libedit-dev
|
|
- libjemalloc-dev
|
|
- libjudy-dev
|
|
- liblz4-dev
|
|
- libncurses5-dev
|
|
- libnuma-dev
|
|
- libpam0g-dev
|
|
- libpcre2-dev
|
|
- libreadline-gplv2-dev
|
|
- libsnappy-dev
|
|
- libssl-dev
|
|
- libstemmer-dev
|
|
- libxml2-dev
|
|
- lsb-release
|
|
- perl
|
|
- psmisc
|
|
- uuid-dev
|
|
- zlib1g-dev
|
|
# libsystemd-daemon-dev # https://github.com/travis-ci/apt-package-whitelist/issues/3882
|
|
homebrew:
|
|
# 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
|
|
|
|
## 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.
|
|
#
|
|
# In gcc and clang use a fairly old version and one very recent and assume that
|
|
# if both of them built successfully all the intermediate version work as well.
|
|
arch: amd64
|
|
os: linux
|
|
compiler:
|
|
- gcc
|
|
- clang
|
|
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
|
|
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,rocksdb,versioning,rpl
|
|
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles,encryption
|
|
- CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
|
|
|
jobs:
|
|
# Define extra jobs that are run in addition to the main jobs matrix
|
|
include:
|
|
- os: linux
|
|
compiler: gcc
|
|
env: DebPackages=focal
|
|
addons: &deb-addons
|
|
apt:
|
|
sources: *add-sources
|
|
# make sure these match debian/control contents
|
|
packages:
|
|
- *common-packages
|
|
- debhelper
|
|
- devscripts
|
|
- dh-apparmor
|
|
- dh-exec
|
|
- dh-systemd
|
|
- fakeroot
|
|
- libdistro-info-perl
|
|
- libsystemd-dev
|
|
- libzstd-dev
|
|
- po-debconf
|
|
- unixodbc-dev
|
|
script: &deb-script
|
|
- ${CC} --version ; ${CXX} --version
|
|
- apt-cache policy
|
|
- env DEB_BUILD_OPTIONS="parallel=4" debian/autobake-deb.sh;
|
|
- os: linux
|
|
dist: bionic
|
|
arch: s390x
|
|
compiler: gcc
|
|
env: DebPackages=bionic
|
|
addons: *deb-addons
|
|
script: *deb-script
|
|
# Just one OS X build is enough
|
|
- os: osx
|
|
osx_image: xcode12u
|
|
compiler: clang
|
|
env: CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
|
# Some chosen ones with s390x and gcc
|
|
- os: linux
|
|
arch: s390x
|
|
compiler: gcc
|
|
env: CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
|
- os: linux
|
|
arch: s390x
|
|
compiler: gcc
|
|
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption,rocksdb,versioning,rpl
|
|
# Some chosen ones with s390x and clang
|
|
- os: linux
|
|
arch: s390x
|
|
compiler: clang
|
|
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
|
|
- os: linux
|
|
arch: s390x
|
|
compiler: clang
|
|
env: CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles
|
|
# Extra tests to ensure IBM Power and ARM 64 work
|
|
- os: linux
|
|
arch: ppc64le
|
|
compiler: gcc
|
|
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
|
- os: linux
|
|
arch: arm64
|
|
compiler: gcc
|
|
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
|
|
|
allow_failures:
|
|
# Permanently fails on main.column_compression 'innodb' test (MDEV-23954)
|
|
- os: linux
|
|
arch: s390x
|
|
compiler: gcc
|
|
env: CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
|
# Until OSX becomes a bit more stable
|
|
- os: osx
|
|
# ppc64el builder frequently runs out of memory
|
|
- arch: ppc64le
|
|
|
|
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}"
|