From c63c5ee2ef6b0d13495dd637f7954f1655e6cbdc Mon Sep 17 00:00:00 2001 From: Sergei Morozov Date: Wed, 20 Feb 2019 10:16:53 -0800 Subject: [PATCH] Replaced MySQL 5.7 installed from a PPA with an official Docker image See https://travis-ci.org/doctrine/dbal/jobs/495144274 for the PPA issue. --- .travis.yml | 4 ++-- tests/travis/install-mysql-5.7.sh | 24 ++++++++---------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5a6a69914d4..62e1a3d5c0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -65,7 +65,7 @@ jobs: env: DB=mysql COVERAGE=yes - stage: Test php: 7.2 - env: DB=mysql MYSQL_VERSION=5.7 COVERAGE=yes + env: DB=mysql.docker MYSQL_VERSION=5.7 COVERAGE=yes sudo: required before_script: - bash ./tests/travis/install-mysql-5.7.sh @@ -82,7 +82,7 @@ jobs: env: DB=mysqli COVERAGE=yes - stage: Test php: 7.2 - env: DB=mysqli MYSQL_VERSION=5.7 COVERAGE=yes + env: DB=mysqli.docker MYSQL_VERSION=5.7 COVERAGE=yes sudo: required before_script: - bash ./tests/travis/install-mysql-5.7.sh diff --git a/tests/travis/install-mysql-5.7.sh b/tests/travis/install-mysql-5.7.sh index 686fa34c991..63b8e0948c2 100644 --- a/tests/travis/install-mysql-5.7.sh +++ b/tests/travis/install-mysql-5.7.sh @@ -2,21 +2,13 @@ set -ex -echo "Installing MySQL 5.7..." +echo "Starting MySQL 5.7..." -sudo service mysql stop -sudo apt-get remove "^mysql.*" -sudo apt-get autoremove -sudo apt-get autoclean -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.9-1_all.deb -sudo DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.9-1_all.deb -sudo rm -rf /var/lib/apt/lists/* -sudo apt-get clean -sudo apt-get update -q -sudo apt-get install -q -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" mysql-server libmysqlclient-dev -sudo mysql_upgrade - -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 docker run \ + -d \ + -e MYSQL_ALLOW_EMPTY_PASSWORD=yes \ + -p 33306:3306 \ + --name mysql57 \ + mysql:5.7 +sudo docker exec -i mysql57 bash <<< 'until echo \\q | mysql > /dev/null 2>&1 ; do sleep 1; done'