Commit graph

65 commits

Author SHA1 Message Date
Otto Kekäläinen
5cdf245d7e MDEV-6284: Sync deb build dependencies and control file with downstream
- Remove versioned depends that are far outdated and not relevant anymore
  in 2020.
- Link with libedit instead of unmaintained readline5
  d8796a0e3b
- Add [linux-any] for Linux specific depends and other smaller control
  file tweaks.
- Update .travis-ci.yml to match.
- Also fixes the Debian autopkgtest detected error:
    ERROR 1231 (42000) at line 1: Variable 'innodb_compression_algorithm'
    can't be set to the value of 'lz4'
2020-04-19 17:15:40 +03:00
Daniel Black
abb2332420 travis: xcode11.3 2020-04-05 17:20:50 +04:00
Otto Kekäläinen
a135f0ab88 Travis-CI: Update default distro from Ubuntu Xenial to Bionic
Ubuntu Bionic 18.04 LTS will be around until 2023 while Xenial is only to
2021. Thus Bionic is much more suitable as the Travis-CI default build
environment for the 10.5 branch.

For now, still keep one Xenial build to ensure backwards compatibility.

Disable main.udf test until MDEV-21976 is addressed.
2020-04-02 11:22:41 +03:00
Otto Kekäläinen
dda61ade11 Travis-CI: Slim down number of parallel jobs to speed up total run time
Number of jobs dropped from 23 -> 17 and build time from 8-10 hours to
3-4 hours.

Drop GCC 6 and Clang 6 from build dependencies and version 6 is dropped
from the jobs matrix.

Also ignore arm64 and ppc64le on Bionic builds since they sporadically
fail.
2020-04-02 11:22:41 +03:00
Otto Kekäläinen
4b1f608569 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.
2020-03-23 21:28:29 +00:00
Otto Kekäläinen
b0140c084e Travis-CI: Mac OS X build improvements
- Properly define build dependencies via addons/homebrew, but still keep
  secondary Homebrew run until OS X builds fully work.
- Remove references to OS X bugs that are already closed.
- As long as the OS X build does not work, it is enough to attempt to run
  just one of them, no need for many in parallel. It will just waste
  resources and slow down the job from finishing quickly.
2020-03-23 21:28:29 +00:00
Otto Kekäläinen
a5d73d4d72 Travis-CI: Refactor .travis.yml and document
This further simplifies and cleans up the Travis-CI file without making
any major functional changes.

With this structure .travis.yml is much easier to read and thanks to the
added documentation next developers are less likely to mess it up again
as they can more easily see how the jobs matrix work.

Number of jobs:
- before: 33 (with 7 ignored)
- after:  33 (with 7 ignored)

This partially reverts commits c12609d and 193bc89.

Remove unnecessary dependencies that nothing uses: dpatch libzmq-dev

Install extra build dependencies from a PPA specifically tailored for
Travis-CI use and which ensures all architectures are supported (in this
case s390x is needed and was not available from mariadb.org repos).

Validated with https://config.travis-ci.com/explore
2020-03-23 21:28:29 +00:00
Otto Kekäläinen
20ddc1e086 Travis-CI: No-change cleanup of bad syntax in .travis-ci.yml
This is first step in refactoring the Travis-CI file, which had become a
mess. This commit has no functional changes, just syntactical cleanup
and simplification.

Dependencies list has not changes, it is just sorted alphabetically so
it is easier to compare to e.g. debian/control file list.
2020-03-23 21:28:29 +00:00
Otto Kekäläinen
12b7d5dc46 Travis-CI: Ignore clang/GCC 6 that permanently fails on 10.5 branch
The purpose of a CI system is to validate if a change is acceptable or not.
Thus tests that always fail should be ignored, otherwise the result of the
CI (green/red) is not reliable and actionable.
2020-03-18 22:49:55 +02:00
Otto Kekäläinen
30b44aaec7 Deb: Fix executable bit so dh-exec works (regression in fd2dc9c3fd)
Package contents before this fix:

libmariadb-dev-compat
drwxr-xr-x root/root ./
drwxr-xr-x root/root ./usr/
drwxr-xr-x root/root ./usr/bin/
lrwxrwxrwx root/root ./usr/bin/mysql_config
drwxr-xr-x root/root ./usr/include/
lrwxrwxrwx root/root ./usr/include/mysql
drwxr-xr-x root/root ./usr/lib/
drwxr-xr-x root/root ./usr/lib/${DEB_HOST_MULTIARCH}/
drwxr-xr-x root/root ./usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/
lrwxrwxrwx root/root ./usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/mysqlclient.pc
drwxr-xr-x root/root ./usr/lib/x86_64-linux-gnu/
lrwxrwxrwx root/root ./usr/lib/x86_64-linux-gnu/libmysqlclient.a
lrwxrwxrwx root/root ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.a
lrwxrwxrwx root/root ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.so
lrwxrwxrwx root/root ./usr/lib/x86_64-linux-gnu/libmysqlclient.so
drwxr-xr-x root/root ./usr/share/
drwxr-xr-x root/root ./usr/share/doc/
drwxr-xr-x root/root ./usr/share/doc/libmariadb-dev-compat/
-rw-r--r-- root/root ./usr/share/doc/libmariadb-dev-compat/changelog.gz
-rw-r--r-- root/root ./usr/share/doc/libmariadb-dev-compat/copyright

With this fix the '/usr/lib/${DEB_HOST_MULTIARCH}/' becomes correctly
populated with the actual architecture dependent path.

Also add dh-exec to Travis-CI testing so that CI passes.

As an extra small thing, clean away excess executable bit from Mroonga
plugin maintainer script that does not need it.
2020-03-18 22:49:55 +02:00
Otto Kekäläinen
0f8d6e3bd8 MDEV-21942: Correctly use newer libpcre2 version (regression in b6b6980)
If libpcre2 (10.x) is not defined and only the older libpcre3 (8.x)
would be available, the build would attempt to download it from the
Internet, violating many build environment restrictions.

Commit b6b6980686 attempted to fix
MDEV-21942 but was incomplete, and after in CI systems started
failing since the .travis.yml update was missing.
2020-03-18 22:49:55 +02:00
Namrata Bhave
c12609dd9e Review comments: Refactoring the duplicates
Have separated out the common dependencies on top.
2020-02-24 19:01:51 +02:00
Namrata Bhave
193bc89a49 Adding s390x to Travis builds 2020-02-24 19:01:51 +02:00
Daniel Black
e121a078bf travis: use galera-4 in 10.4 branch (#1226) 2019-03-14 08:20:32 +02:00
Marko Mäkelä
ac9b818c24 Merge 10.3 into 10.4 2019-01-14 09:40:12 +02:00
Shinnok
4bf47cb989
Merge pull request #559 from grooverdan/10.3-travis-systemversioning
MDEV-15022 - travis: add versioning to test suite
2019-01-09 10:17:51 +00:00
Shinnok
13df03a04e
Merge pull request #768 from grooverdan/10.3-travis-osx-zstd
MDEV-15578 - travis: add zstd for osx
2019-01-09 07:53:22 +00:00
Daniel Black
5cf45fb272 travis: add versioning to test suite 2019-01-09 09:55:46 +11:00
Daniel Black
2b39f43613 travis: add zstd for osx 2019-01-07 09:13:34 +11:00
Teodor Mircea Ionita
3b5e8d799a travis: Fix ccache not used on macOS targets 2018-12-27 14:07:55 +00:00
Teodor Mircea Ionita
e2939795b1 travis: Fix ccache not used on macOS targets 2018-12-27 14:06:33 +00:00
Teodor Mircea Ionita
829fce9ea6 travis: upgrade Ubuntu target dist to 16.04 Xenial
Ubuntu 14.04 Trusty is LTS until April 2019 and since we are
approaching that, upgrade to Xenial which is LTS until April 2021.

One bonus of this upgrade is that the Travis Xenial virtual images
have a much bigger disk size, thus no need to limit ccache below
the default of 5G anymore.

Also had to remove linux/clang-8 toolchain testing since
llvm-toolchain-xenial is not listed at:
https://github.com/travis-ci/apt-source-safelist/blob/master/ubuntu.json

And fails with:
Disallowing sources: llvm-toolchain-xenial
...
E: Unable to locate package clang-8
E: Unable to locate package llvm-8-dev
2018-12-26 16:26:36 +00:00
Shinnok
838c196f26
Merge pull request #937 from grooverdan/10.4-travis
10.4 travis - newer compilers, ignore common clang warnings
2018-12-25 11:39:13 +00:00
Daniel Black
06972b2fbc travis: xcode10.1 2018-11-26 14:34:19 +04:00
Daniel Black
00c5c225a1 travis: add CC_VERSION=8
clang-8 is experimental so allows its failure on os: linux
2018-11-23 15:03:32 +11:00
Daniel Black
83b7372b29 travis: update CC_VERSIONS to 6 and 7
Use clang-6,7 too.
2018-11-23 15:03:05 +11:00
Daniel Black
0dadb96e16 travis: llvm repo gpg key missing - use travis defination 2018-08-21 10:47:39 +03:00
Teodor Mircea Ionita
4d637628d3 MDEV-16213: Travis whitespace fix and remove comment 2018-06-29 13:57:36 +03:00
Teodor Mircea Ionita
7b6e867288 MDEV-16213: Further improvements to the Travis config
* Exclude some storage engines from Travis to conserve
  build time and disk usage per job. Exluded:
  TOKUDB MROONGA SPIDER OQGRAPH PERFSCHEMA SPHINX
* Increase travis_wait from default 20m to 30 for MTR
* Use travis_wait for long running MTR command (wait
  30m instead of default 20m)
* Increase testcase-timeout to 20m for OSX, 2m for Linux
* Set ccache size only on Linux, adjust timeout again
* Increase cache push timeout to 5 mins
* Remove AWS defines, not needed
* Remove commented out ASAN rules, has been disabled
  previously since it has a significant impact on job
  runtime, should be used more in buildbot instead
* Misc cleanup and fixes
2018-06-29 13:57:36 +03:00
Teodor Mircea Ionita
5cdc70b8a1 MDEV-16213: Improvements and adjustments to Travis config
Several improvements have been made so that builds run
faster and with fewer canceled jobs:

* Set ccache max size to 1GB. Was 512MB for Linux
(too low for MariaDB) and 5GB on macOS with defaults;

* Don't install libasan in Travis if not necessary.
Sicne ASAN is disabled for the time being, save
time/resources for other steps;

* Decrease number of parallel processes. To prevent
resource exhaustion leading to poor performance. According
to Travis docs, a max of 4 concurrent processses should be
run per job:
https://docs.travis-ci.com/user/common-build-problems/#My-build-script-is-killed-without-any-error

* Reconsider tests exec order and split huge main and rocksdb
test suites into their own job, decreasing the chance of going
over the Travis job execution limit and getting killed;

* Increase Travis testcase-timeout to 4 minutes. Occasionally
on Ubuntu target and frequently on macOS, many tests in main,
rpl, binlog suites take longer than 2 minutes, resulting in
many jobs failing, when in reality the failing tests didn't
get a chance to complete. From my testing, along with the other
speedups, i.e. increasing ccache size, a timeout of 4 minutes
should be Ok.  Revert to 3 minutes of necessary.

* Build with GCC and Clang version 5,6 only.

* Rename GCC_VERSION to CC_VERSION for clarity. We are using
two compilers after all, GCC and Clang.

* Stop using somewhat obsolete Clang4 in Travis. Also, was the
reason for the failing test suites in MDEV-15430.
2018-06-29 13:57:36 +03:00
Otto Kekäläinen
feec04f29d Travis-CI: clean up cruft and add more in-line commments
This will make these files easier to maintain in the future.
2017-11-21 13:07:26 +02:00
Otto Kekäläinen
325c9ce9b3 Travis-CI: slim down the deb build so it passes in the 50 minute time limit
The Debian packaging build was failing on Travis-CI due to timeouts.
These changes make it faster by skipping less relevant parts of the build,
like the test suite, RocksDB, TokuDB and Mroonga.

Also fix the usage of the 'make -j' flag to not have any spaces as
recommended in an example in the Debian policy.
2017-11-21 13:07:26 +02:00
Otto Kekäläinen
b9e029d706 Travis-CI: make deb job visible on the parallel jobs list 2017-11-21 13:07:26 +02:00
Marko Mäkelä
5603a5842b Merge bb-10.2-ext into 10.3 2017-11-02 12:08:37 +02:00
Daniel Black
a0743734c4 travis: osx - xcode 8.3 -> 9.1
Signed-off-by: Daniel Black <daniel@linux.vnet.ibm.com>
2017-10-31 11:21:28 +04:00
Daniel Black
a81ea75390 travis: no percona tests in 10.3
Signed-off-by: Daniel Black <daniel@linux.vnet.ibm.com>
2017-10-27 01:40:01 +04:00
Daniel Black
c508691a93 travis: add clang-5.0
Also removed clang-3.9

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2017-08-07 10:05:01 +04:00
Daniel Black
3904014ed3 MDEV-13288: Travis dependency cracklib-runtime 2017-07-11 13:27:34 +04:00
Daniel Black
3b862aaa10 travis: Debian build - minimise packages, enable ccache
Even disabling the ccache on the Debian build didn't always prevent
the Travis build running out of space.

As an alternative strategy, the number of alternative compilers has been
reduced to save space. This additional space has been partially reused
by the ccache.

Debian build specific packages have been removed from other builds.
2017-07-07 08:27:33 +04:00
Daniel Black
7c997f4b2e travis: force deb build not to use ccache
18a2b0a168 wasn't sufficient.
The path needed to be set so ccache wasn't picked up.
2017-06-29 10:59:40 +04:00
Daniel Black
18a2b0a168 travis: disable ccache on deb build - ENOSPC 2017-06-29 08:57:52 +04:00
Daniel Black
9e0aa294aa travis: MDEV-13002 fixed - don't allow failures in MYSQL_TEST_SUITES=plugins
Revert "travis: allowed_failures MYSQL_TEST_SUITES=plugins (MDEV-13002)"

This reverts commit c4cbc7a880.
2017-06-29 08:57:52 +04:00
Daniel Black
9222d79b82 travis: packages for debian build - added fakeroot 2017-06-29 08:57:52 +04:00
Daniel Black
c4cbc7a880 travis: allowed_failures MYSQL_TEST_SUITES=plugins (MDEV-13002) 2017-06-08 10:53:12 +04:00
Daniel Black
798db3d710 travis: allow_failures os: osx
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2017-06-08 10:53:12 +04:00
Daniel Black
035f74c36c travis: enable (main,archive).mysqlhotcopy_\1 test 2017-06-08 10:51:52 +04:00
Daniel Black
22fa9f22aa travis: add uuid-dev as dependency 2017-06-06 12:36:53 +04:00
Daniel Black
eecce3d7c8 Travis: Test more suites, latest OSX
Remove clang-3.8 which doesn't have a repository on apt.llvm.org any
more.

For OSX, xcode8.3 is explicitly specified.

/usr/local/Cellar is used as a cache repository to save brew install
time on OSX (and /usr/local was too big).

Debian autobake.sh is moved to a matrix include.

Other branches of the matrix build test other test suites.
An Ubuntu galera is downloaded and used in the test suite.

TYPE=RelWithDebInfo used with the test to provide backtraces with line
numbers when crashes occur.

Build of PLUGIN_AWS_KEY_MANAGEMENT enabled in build.

Code supporting TYPE=Debug and -DWITH_ASAN=ON included by not enabled
due to large numbers of errors.

Running more tests in parallel (6) as container based builds seem to
support them. The test case timeout has been set to 2 minutes as large
stalls will put test cases over 50 minute interval.

ccache enabled where possible. Linux clang builds don't use them as the
minimum CMake version isn't there.
2017-04-10 22:36:21 -04:00
Daniel Black
1759e91986 travis: osx - specify allowed_failures accurately 2017-04-06 11:26:34 -04:00
Daniel Black
08359bc570 travis: OSX - 2 minute test case timeout 2017-04-06 11:26:34 -04:00