diff --git a/.travis.yml b/.travis.yml index 575e8a68c8b..19c31d02d50 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,10 +18,30 @@ env: before_script: - if [[ $TRAVIS_PHP_VERSION = '7.1' && $DB = 'sqlite' ]]; then PHPUNIT_FLAGS="--coverage-clover .clover.xml"; else PHPUNIT_FLAGS=""; fi - if [[ "$PHPUNIT_FLAGS" == "" ]]; then phpenv config-rm xdebug.ini || true; fi + - if [ "$MYSQL_VERSION" == "5.7" ]; then bash ./tests/travis/install-mysql-5.7.sh; fi; + - if [[ "$MYSQL_VERSION" == "5.6" || "$MYSQL_VERSION" == "5.7" ]]; then mysql -e "CREATE SCHEMA doctrine_tests; GRANT ALL PRIVILEGES ON doctrine_tests.* to travis@'%'"; fi; + - if [[ "$MYSQL_VERSION" == "5.6" || "$MYSQL_VERSION" == "5.7" ]]; then mysql -e "CREATE SCHEMA test_create_database; GRANT ALL PRIVILEGES ON test_create_database.* to travis@'%'"; fi; + - if [[ "$MYSQL_VERSION" == "5.6" || "$MYSQL_VERSION" == "5.7" ]]; then mysql -e "CREATE SCHEMA test_drop_database; GRANT ALL PRIVILEGES ON test_drop_database.* to travis@'%'"; fi; matrix: fast_finish: true include: + - php: 7.1 + env: DB=mysql MYSQL_VERSION=5.6 + dist: trusty + - php: nightly + env: DB=mysql MYSQL_VERSION=5.6 + dist: trusty + + - php: 7.1 + env: DB=mysql MYSQL_VERSION=5.7 + sudo: true + dist: trusty + - php: nightly + env: DB=mysql MYSQL_VERSION=5.7 + sudo: true + dist: trusty + - php: 7.1 env: DB=mariadb MARIADB_VERSION=10.0 addons: diff --git a/tests/travis/install-mysql-5.7.sh b/tests/travis/install-mysql-5.7.sh new file mode 100755 index 00000000000..cc5d812d4ee --- /dev/null +++ b/tests/travis/install-mysql-5.7.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +set -e +set -x + +echo "Installing MySQL 5.7..." +sudo service mysql stop +echo mysql-apt-config mysql-apt-config/select-server select mysql-5.7 | sudo debconf-set-selections +wget http://dev.mysql.com/get/mysql-apt-config_0.8.6-1_all.deb +sudo DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.6-1_all.deb +sudo rm -rf /var/lib/apt/lists/* +sudo apt-get clean +sudo apt-get update -qq +sudo apt-get install -qq mysql-server libmysqlclient-dev + +echo "Restart mysql..." +sudo mysql -e "use mysql; update user set authentication_string=PASSWORD('') where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;" +sudo mysql -uroot --version