Commit 4b1f6085 authored by Otto Kekäläinen's avatar Otto Kekäläinen Committed by Vlad

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.
parent b0140c08
...@@ -96,15 +96,20 @@ addons: ...@@ -96,15 +96,20 @@ addons:
- zlib - zlib
- zstd - zstd
# The jobs matrix consists of all the combinations of 'arch', 'os', 'compiler' and 'env' ## Build jobs matrix
arch: # The jobs matrix consists of all the combinations of 'arch', 'os', 'compiler'
- amd64 # 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 os: linux
compiler: compiler:
- gcc - gcc
- clang - clang
env: 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=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=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl
- CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption - CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=binlog,binlog_encryption,encryption
...@@ -113,11 +118,6 @@ env: ...@@ -113,11 +118,6 @@ env:
- CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main - CC_VERSION=8 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
jobs: 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 # Define extra jobs that are run in addition to the main jobs matrix
include: include:
- os: linux - os: linux
...@@ -160,17 +160,7 @@ jobs: ...@@ -160,17 +160,7 @@ jobs:
arch: s390x arch: s390x
dist: bionic dist: bionic
compiler: gcc compiler: gcc
env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main env: CC_VERSION=8 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
- os: linux - os: linux
arch: s390x arch: s390x
dist: bionic dist: bionic
...@@ -181,16 +171,6 @@ jobs: ...@@ -181,16 +171,6 @@ jobs:
dist: bionic dist: bionic
compiler: gcc compiler: gcc
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rocksdb,versioning 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 # Some chosen ones with s390x and clang
- os: linux - os: linux
arch: s390x arch: s390x
...@@ -201,29 +181,26 @@ jobs: ...@@ -201,29 +181,26 @@ jobs:
arch: s390x arch: s390x
dist: bionic dist: bionic
compiler: clang compiler: clang
env: CC_VERSION=6 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rpl
- os: linux - os: linux
arch: s390x arch: s390x
dist: bionic dist: bionic
compiler: clang 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 - os: linux
arch: s390x
dist: bionic dist: bionic
compiler: clang arch: ppc64le
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=rocksdb,versioning compiler: gcc
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
- os: linux - os: linux
arch: s390x
dist: bionic dist: bionic
compiler: clang arch: arm64
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 compiler: gcc
env: CC_VERSION=7 TYPE=RelWithDebInfo MYSQL_TEST_SUITES=main
allow_failures: allow_failures:
# Permanently fails on main.thread_pool_info test # 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 - os: linux
arch: amd64 arch: amd64
compiler: clang compiler: clang
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment