summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtto Kekäläinen <otto@kekalainen.net>2020-03-19 16:35:40 +0200
committerVlad <vladbogo@users.noreply.github.com>2020-03-23 21:28:29 +0000
commit4b1f608569f24a2076f127137571a9d4eaab27f5 (patch)
tree5c52cb64725124e0514fd0ffc56f38ac9249a460
parentb0140c084eb1a22a28ec3339a30199adadf3c6dc (diff)
downloadmariadb-git-4b1f608569f24a2076f127137571a9d4eaab27f5.tar.gz
Travis-CI: Optimize the selection of tests to be smaller and more diverse
Drop excess jobs while still making sure there is a good variation of running all test suites, gcc and clang versions. Also introduce testing on architectures arm64 and ppc64le.
-rw-r--r--.travis.yml61
1 files changed, 19 insertions, 42 deletions
diff --git a/.travis.yml b/.travis.yml
index d595bdbe5d5..c99c20a875c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -96,15 +96,20 @@ addons:
- zlib
- zstd
-# The jobs matrix consists of all the combinations of 'arch', 'os', 'compiler' and 'env'
-arch:
- - amd64
+## 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
os: linux
compiler:
- gcc
- clang
env:
- - CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
- CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=archive,optimizer_unfixed_bugs,parts,sys_vars,unit,vcol,innodb,innodb_gis,innodb_zip,innodb_fts
- CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption
@@ -113,11 +118,6 @@ env:
- CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
jobs:
- # Define what of the above defined jobs matrix is excluded
- exclude:
- - compiler: clang
- env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
-
# Define extra jobs that are run in addition to the main jobs matrix
include:
- os: linux
@@ -160,17 +160,7 @@ jobs:
arch: s390x
dist: bionic
compiler: gcc
- env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
- - os: linux
- arch: s390x
- dist: bionic
- compiler: gcc
- env: CC_VERSION=6 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
- dist: bionic
- compiler: gcc
- env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl
+ env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
- os: linux
arch: s390x
dist: bionic
@@ -181,16 +171,6 @@ jobs:
dist: bionic
compiler: gcc
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rocksdb,versioning
- - os: linux
- arch: s390x
- dist: bionic
- compiler: gcc
- env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles
- - os: linux
- arch: s390x
- dist: bionic
- compiler: gcc
- env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
# Some chosen ones with s390x and clang
- os: linux
arch: s390x
@@ -201,32 +181,29 @@ jobs:
arch: s390x
dist: bionic
compiler: clang
- env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl
+ env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl
- os: linux
arch: s390x
dist: bionic
compiler: clang
- env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption
+ 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
+ # Extra tests to ensure builds on IBM Power and ARM 64 work
- os: linux
- arch: s390x
dist: bionic
- compiler: clang
- env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rocksdb,versioning
+ arch: ppc64le
+ compiler: gcc
+ env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
- os: linux
- arch: s390x
dist: bionic
- compiler: clang
- env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=csv,federated,funcs_1,funcs_2,gcol,handler,heap,json,maria,perfschema,plugins,multi_source,roles
+ arch: arm64
+ compiler: gcc
+ env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
allow_failures:
# Permanently fails on main.thread_pool_info test
- os: linux
arch: amd64
compiler: clang
- env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
- - os: linux
- arch: amd64
- compiler: clang
env: CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
# Until OSX becomes a bit more stable
- os: osx