New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test MySQL and various MariaDB versions on Travis #14

Open
wants to merge 18 commits into
base: master
from

Conversation

Projects
None yet
3 participants
@paultcochrane
Contributor

paultcochrane commented Nov 8, 2017

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. The
libmariadbclient-dev package is required for MariaDB builds so that
the mysql_config program is available for DBD::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?

Test MySQL and various MariaDB versions on Travis
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](https://docs.travis-ci.com/user/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.  The
`libmariadbclient-dev` package is required for MariaDB builds so that
the `mysql_config` program is available for `DBD::mysql` during its
build and installation phase.
@coveralls

This comment has been minimized.

Show comment
Hide comment
@coveralls

coveralls Nov 8, 2017

Coverage Status

Coverage remained the same at 96.875% when pulling 816b5a2 on paultcochrane:pr/test-multiple-mysqls-on-travis into 82739bf on preaction:master.

coveralls commented Nov 8, 2017

Coverage Status

Coverage remained the same at 96.875% when pulling 816b5a2 on paultcochrane:pr/test-multiple-mysqls-on-travis into 82739bf on preaction:master.

@preaction

This comment has been minimized.

Show comment
Hide comment
@preaction

preaction Nov 13, 2017

Owner

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.

#1 is also about testing the database upgrade/migration stuff. So we'd need a small Mojolicious app and to try running that app (queuing a task) to make sure the database migration works.

This is a great start towards that though, thanks!

Owner

preaction commented Nov 13, 2017

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.

#1 is also about testing the database upgrade/migration stuff. So we'd need a small Mojolicious app and to try running that app (queuing a task) to make sure the database migration works.

This is a great start towards that though, thanks!

@paultcochrane

This comment has been minimized.

Show comment
Hide comment
@paultcochrane

paultcochrane Nov 14, 2017

Contributor

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.

Contributor

paultcochrane commented Nov 14, 2017

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.

@preaction

This comment has been minimized.

Show comment
Hide comment
@preaction

preaction Nov 16, 2017

Owner

Perl 5.24 will be fine, or whatever Perl travis has in there easiest (since there's a time limit).

Owner

preaction commented Nov 16, 2017

Perl 5.24 will be fine, or whatever Perl travis has in there easiest (since there's a time limit).

@coveralls

This comment has been minimized.

Show comment
Hide comment
@coveralls

coveralls Nov 27, 2017

Coverage Status

Coverage decreased (-0.4%) to 96.503% when pulling 4883e17 on paultcochrane:pr/test-multiple-mysqls-on-travis into 82739bf on preaction:master.

coveralls commented Nov 27, 2017

Coverage Status

Coverage decreased (-0.4%) to 96.503% when pulling 4883e17 on paultcochrane:pr/test-multiple-mysqls-on-travis into 82739bf on preaction:master.

@coveralls

This comment has been minimized.

Show comment
Hide comment
@coveralls

coveralls Nov 27, 2017

Coverage Status

Coverage decreased (-0.4%) to 96.503% when pulling 4883e17 on paultcochrane:pr/test-multiple-mysqls-on-travis into 82739bf on preaction:master.

coveralls commented Nov 27, 2017

Coverage Status

Coverage decreased (-0.4%) to 96.503% when pulling 4883e17 on paultcochrane:pr/test-multiple-mysqls-on-travis into 82739bf on preaction:master.

@coveralls

This comment has been minimized.

Show comment
Hide comment
@coveralls

coveralls Nov 28, 2017

Coverage Status

Coverage decreased (-0.4%) to 96.503% when pulling c9b0ce2 on paultcochrane:pr/test-multiple-mysqls-on-travis into 82739bf on preaction:master.

coveralls commented Nov 28, 2017

Coverage Status

Coverage decreased (-0.4%) to 96.503% when pulling c9b0ce2 on paultcochrane:pr/test-multiple-mysqls-on-travis into 82739bf on preaction:master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment