diff --git a/.travis.yml b/.travis.yml index c1cc10aaf..bfbf71204 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,5 +9,68 @@ go: - 1.7 - tip +matrix: + include: + - env: DB=MYSQL57 + sudo: required + dist: trusty + go: 1.8 + services: + - docker + before_install: + - docker pull mysql:5.7 + - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ROOT_PASSWORD=verysecret + mysql:5.7 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB + - sleep 30 + - cp .travis/docker.cnf ~/.my.cnf + - mysql --print-defaults + - .travis/wait_mysql.sh + before_script: + - export MYSQL_TEST_USER=gotest + - export MYSQL_TEST_PASS=secret + - export MYSQL_TEST_ADDR=127.0.0.1:3307 + - export MYSQL_TEST_CONCURRENT=1 + + - env: DB=MARIA55 + sudo: required + dist: trusty + go: 1.8 + services: + - docker + before_install: + - docker pull mariadb:5.5 + - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ROOT_PASSWORD=verysecret + mariadb:5.5 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB + - sleep 30 + - cp .travis/docker.cnf ~/.my.cnf + - mysql --print-defaults + - .travis/wait_mysql.sh + before_script: + - export MYSQL_TEST_USER=gotest + - export MYSQL_TEST_PASS=secret + - export MYSQL_TEST_ADDR=127.0.0.1:3307 + - export MYSQL_TEST_CONCURRENT=1 + + - env: DB=MARIA10_1 + sudo: required + dist: trusty + go: 1.8 + services: + - docker + before_install: + - docker pull mariadb:10.1 + - docker run -d -p 127.0.0.1:3307:3306 --name mysqld -e MYSQL_DATABASE=gotest -e MYSQL_USER=gotest -e MYSQL_PASSWORD=secret -e MYSQL_ROOT_PASSWORD=verysecret + mariadb:10.1 --innodb_log_file_size=256MB --innodb_buffer_pool_size=512MB --max_allowed_packet=16MB + - sleep 30 + - cp .travis/docker.cnf ~/.my.cnf + - mysql --print-defaults + - .travis/wait_mysql.sh + before_script: + - export MYSQL_TEST_USER=gotest + - export MYSQL_TEST_PASS=secret + - export MYSQL_TEST_ADDR=127.0.0.1:3307 + - export MYSQL_TEST_CONCURRENT=1 + + before_script: - mysql -e 'create database gotest;' diff --git a/.travis/docker.cnf b/.travis/docker.cnf new file mode 100644 index 000000000..e57754e5a --- /dev/null +++ b/.travis/docker.cnf @@ -0,0 +1,5 @@ +[client] +user = gotest +password = secret +host = 127.0.0.1 +port = 3307 diff --git a/.travis/wait_mysql.sh b/.travis/wait_mysql.sh new file mode 100755 index 000000000..abcf5f0ae --- /dev/null +++ b/.travis/wait_mysql.sh @@ -0,0 +1,8 @@ +#!/bin/sh +while : +do + sleep 3 + if mysql -e 'select version()'; then + break + fi +done