Closed paultcochrane closed 5 years ago
This looks good, but I don't think we need to test the intersection of Perl version / MySQL version. We should just pick a single Perl version and test the various MySQL versions with that (that way, we aren't varying two things, just one thing).
There are some other versions of MySQL at https://dev.mysql.com/downloads/repo/apt/. I don't know if Travis lets you add new APT repos and install the software in them, though.
This is a great start towards that though, thanks!
Yeah, you're right about doing all Perl and MySQL versions was a bit much. Do you have any particular Perl version preference for the MySQL version check? I was thinking either 5.24 or 5.26.
Travis allows new APT repos to be defined, so we can definitely test some other MySQL versions. I'll try to get MySQL versions 5.6, 5.7 and 8.0 as well as MariaDB versions 10.0 and 10.1 into the build matrix.
Perl 5.24 will be fine, or whatever Perl travis has in there easiest (since there's a time limit).
Just for inspiration how Perl's DBD-MariaDB driver is tested with different versions of MySQL and MariaDB clients and servers on Travis CI (more then 150 combinations in matrix): https://github.com/gooddata/DBD-MariaDB/blob/master/.travis.yml https://travis-ci.org/gooddata/DBD-MariaDB
I merged this from the command line, thanks!
In order to do this, one needs to create a build matrix for Travis. Usually, a build matrix is automatically constructed by Travis, however only for combinations of Runtime, Environment and Exclusions/Inclusions (see Customizing the Build for more details). Hence it's necessary to construct the build matrix explicitly. It turns out that MySQL is currently version 5.6 on Travis and that they don't support other versions explicitly. However, they do support MariaDB in various versions (5.5, 10.0, and 10.1), hence why one uses the
addons
feature in order to do this. Each desired perl-mysql/mariadb combination thus needs to be specified explicitly, hence this change is rather large and seems quire repetitive. Thelibmariadbclient-dev
package is required for MariaDB builds so that themysql_config
program is available forDBD::mysql
during its build and installation phase.If you want the number of combinations reduced, just let me know what you want and I'll update the PR and resubmit. I believe this goes some way to satisfying the requirements of #1. How much more would you like to be implemented so that #1 can be considered complete?