mirror of
https://github.com/MariaDB/server.git
synced 2025-12-04 17:23:46 +03:00
Travis-CI: Use new Ubuntu 20.04 as base, streamline and document
Simplify Travis-CI file and extend inline comments. Upgrade to using Ubuntu 20.04 (Focal) as the baseline distro version now that Travis-CI has made it available. Drop Xenial and all the excess repositories Xenial needed. Now we only Focal and one Bionic build to keep things simple and streamlined. Keep GCC-7/Clang-7 as the older compiler, and start using GCC-10 and Clang-10 as the newer compiler. Assume that if both of them build OK, than the intermediate versions would be OK as well. Print 'apt-cache policy' to make it transparent in build logs what repositories was used for build dependencies. Remove temporary workaround from homebrew install step as Travis-CI has fixed the original issue. Revert ignoring results form build that previously failed on the test main.thread_pool_info as MDEV-20372 is not fixed. Keep arm64 failures ignored due to MDEV-23955. Allow failures for the test main.column_compression 'innodb' due to MDEV-23954.
This commit is contained in:
committed by
Daniel Black
parent
a891fe6aa5
commit
cea6a6669e
66
.travis.yml
66
.travis.yml
@@ -1,7 +1,12 @@
|
|||||||
# vim ft=yaml
|
# vim ft=yaml
|
||||||
# travis-ci.org definition
|
# travis-ci.org definition
|
||||||
|
|
||||||
dist: bionic
|
# 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:
|
git:
|
||||||
depth: 2
|
depth: 2
|
||||||
@@ -15,27 +20,25 @@ cache:
|
|||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
# 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
|
|
||||||
sources: &add-sources
|
sources: &add-sources
|
||||||
- ubuntu-toolchain-r-test # Includes e.g. gcc4-9 for xenial, gcc9 for bionic
|
# Remember to document well what packages each extra repository is used for
|
||||||
# https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages?field.name_filter=&field.status_filter=published&field.series_filter=xenial
|
- ubuntu-toolchain-r-test
|
||||||
- llvm-toolchain-xenial-7 # NOTE: This repo has no clang-7 for s390x
|
# => 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'
|
- sourceline: 'ppa:maria-captains/travis-ci-helper-repo'
|
||||||
# https://launchpad.net/~maria-captains/+archive/ubuntu/travis-ci-helper-repo/+packages
|
# => 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
|
packages: &common-packages
|
||||||
# make sure these include all compilers and all build dependencies (see list above)
|
# Remember to update this list if the Debian build dependencies are updated
|
||||||
- bison
|
- bison
|
||||||
- chrpath
|
- chrpath
|
||||||
- clang-7 # bionic-updates, llvm-toolchain-xenial-6.0 (amd64 only, not s390x)
|
- clang-7 # In suites: focal, bionic-updates
|
||||||
- clang-8 # xenial, bionic
|
- clang-10 # In suites: focal, bionic
|
||||||
- cmake
|
- cmake
|
||||||
- cracklib-runtime
|
- cracklib-runtime
|
||||||
- galera-4
|
- galera-4 # In suites: focal, bionic (via ppa:maria-captains/travis-ci-helper-repo)
|
||||||
- g++-5 # xenial, bionic, ubuntu-toolchain-r/test (xenial)
|
- g++-7 # In suites: focal, bionic
|
||||||
- g++-7 # bionic, ubuntu-toolchain-r/test (xenial)
|
- g++-10 # In suites: focal, bionic (via ppa:ubuntu-toolchain-r/test)
|
||||||
- g++-8 # bionic, ubuntu-toolchain-r/test (xenial)
|
|
||||||
- g++-9 # ubuntu-toolchain-r/test (xenial and bionic)
|
|
||||||
- gdb
|
- gdb
|
||||||
- libaio-dev
|
- libaio-dev
|
||||||
- libboost-atomic-dev
|
- libboost-atomic-dev
|
||||||
@@ -69,9 +72,6 @@ addons:
|
|||||||
- zlib1g-dev
|
- zlib1g-dev
|
||||||
# libsystemd-daemon-dev # https://github.com/travis-ci/apt-package-whitelist/issues/3882
|
# libsystemd-daemon-dev # https://github.com/travis-ci/apt-package-whitelist/issues/3882
|
||||||
homebrew:
|
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
|
# OSX builds are not properly maintained on Travis-CI nor buildbot and
|
||||||
# thus this list of dependencies is likely to be inaccurate.
|
# thus this list of dependencies is likely to be inaccurate.
|
||||||
packages:
|
packages:
|
||||||
@@ -104,9 +104,9 @@ addons:
|
|||||||
# and 'env'. Ensure there is a good variation of architectures and at least the
|
# 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
|
# 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.
|
# 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,
|
# In gcc and clang use a fairly old version and one very recent and assume that
|
||||||
# and after that prioritize newer versions (8, 9 etc) above older versions (5, 6).
|
# if both of them built successfully all the intermediate version work as well.
|
||||||
arch: amd64
|
arch: amd64
|
||||||
os: linux
|
os: linux
|
||||||
compiler:
|
compiler:
|
||||||
@@ -116,15 +116,14 @@ 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=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
|
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,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
|
- 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
|
- CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Define extra jobs that are run in addition to the main jobs matrix
|
# Define extra jobs that are run in addition to the main jobs matrix
|
||||||
include:
|
include:
|
||||||
- os: linux
|
- os: linux
|
||||||
dist: xenial
|
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: DebPackages=xenial
|
env: DebPackages=focal
|
||||||
addons: &deb-addons
|
addons: &deb-addons
|
||||||
apt:
|
apt:
|
||||||
sources: *add-sources
|
sources: *add-sources
|
||||||
@@ -144,8 +143,10 @@ jobs:
|
|||||||
- unixodbc-dev
|
- unixodbc-dev
|
||||||
script: &deb-script
|
script: &deb-script
|
||||||
- ${CC} --version ; ${CXX} --version
|
- ${CC} --version ; ${CXX} --version
|
||||||
|
- apt-cache policy
|
||||||
- env DEB_BUILD_OPTIONS="parallel=4" debian/autobake-deb.sh;
|
- env DEB_BUILD_OPTIONS="parallel=4" debian/autobake-deb.sh;
|
||||||
- os: linux
|
- os: linux
|
||||||
|
dist: bionic
|
||||||
arch: s390x
|
arch: s390x
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: DebPackages=bionic
|
env: DebPackages=bionic
|
||||||
@@ -155,12 +156,12 @@ jobs:
|
|||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode12u
|
osx_image: xcode12u
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
env: CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
||||||
# Some chosen ones with s390x and gcc
|
# Some chosen ones with s390x and gcc
|
||||||
- os: linux
|
- os: linux
|
||||||
arch: s390x
|
arch: s390x
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
env: CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
||||||
- os: linux
|
- os: linux
|
||||||
arch: s390x
|
arch: s390x
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
@@ -173,7 +174,7 @@ jobs:
|
|||||||
- os: linux
|
- os: linux
|
||||||
arch: s390x
|
arch: s390x
|
||||||
compiler: clang
|
compiler: clang
|
||||||
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
|
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
|
# Extra tests to ensure IBM Power and ARM 64 work
|
||||||
- os: linux
|
- os: linux
|
||||||
arch: ppc64le
|
arch: ppc64le
|
||||||
@@ -185,13 +186,12 @@ jobs:
|
|||||||
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
||||||
|
|
||||||
allow_failures:
|
allow_failures:
|
||||||
# Permanently fails on main.thread_pool_info test (MDEV-20372)
|
# Permanently fails on main.column_compression 'innodb' test (MDEV-23954)
|
||||||
- os: linux
|
- os: linux
|
||||||
arch: amd64
|
arch: s390x
|
||||||
compiler: clang
|
compiler: gcc
|
||||||
env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
env: CC_VERSION=10 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
|
||||||
# Sporadically fails on main.thread_pool_info test (MDEV-20372)
|
# Sporadically fails on main.multi_update_big test (MDEV-23955)
|
||||||
- arch: ppc64le
|
|
||||||
- arch: arm64
|
- arch: arm64
|
||||||
# Until OSX becomes a bit more stable
|
# Until OSX becomes a bit more stable
|
||||||
- os: osx
|
- os: osx
|
||||||
|
|||||||
Reference in New Issue
Block a user