summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
commita175314c3e5827eb193872241446f2f8f5c9d33c (patch)
treecd3d60ca99ae00829c52a6ca79150a5b6e62528b /.travis.yml
parentInitial commit. (diff)
downloadmariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.tar.xz
mariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.zip
Adding upstream version 1:10.5.12.upstream/1%10.5.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml241
1 files changed, 241 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..863f3223
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,241 @@
+# 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
+ - libarchive-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
+ - libcurl4-openssl-dev
+ - libdbd-mysql
+ - libedit-dev
+ - libjemalloc-dev
+ - libjudy-dev
+ - libkrb5-dev
+ - liblz4-dev
+ - libncurses5-dev
+ - libnuma-dev
+ - libpam0g-dev
+ - libpcre2-dev
+ - libreadline-gplv2-dev
+ - libsnappy-dev
+ - libssl-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
+ - 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}"