From 4ef78df27f52b01f87210f19cd4b9006445bf623 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Kolly?= Date: Sun, 28 Jul 2019 23:45:05 +0200 Subject: [PATCH] Update Travis CI --- .travis.yml | 56 ++++++++++++++++++++++++------------- tests/Mysqls/MysqlsTest.php | 2 +- tests/bootstrap.php | 6 ++-- 3 files changed, 40 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index 827ec1af..597577b6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ language: php -dist: trusty - +dist: bionic +services: + - docker php: - - "7.3" + - 7.3 branches: only: @@ -11,34 +12,49 @@ branches: matrix: include: +# - php: 7.3 +# env: "DOCKER_MYSQL_TYPE=mysql DOCKER_MYSQL_VERSION=5.6" +# - php: 7.3 +# env: "DOCKER_MYSQL_TYPE=mysql DOCKER_MYSQL_VERSION=5.7" +# - php: 7.3 +# env: "DOCKER_MYSQL_TYPE=mysql DOCKER_MYSQL_VERSION=8.0" +# - php: 7.3 +# env: "DOCKER_MYSQL_TYPE=mariadb DOCKER_MYSQL_VERSION=10.3" - php: 7.3 - env: deps=highest - -mysql: - database: froxlor010 - username: root - encoding: utf8 + env: "DOCKER_MYSQL_TYPE=mariadb DOCKER_MYSQL_VERSION=10.4" addons: apt: update: true -service: - - mysql +before_install: + - export MYSQL_DATABASE=froxlor010 + - docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=fr0xl0r.TravisCI -e MYSQL_DATABASE=$MYSQL_DATABASE -p 3306:3306 $DOCKER_MYSQL_TYPE:$DOCKER_MYSQL_VERSION + - sudo apt-get install -y ant + - > + export tries=0; + export max_tries=20; + while [[ true ]]; do + tries=$((tries + 1)); + echo "waiting for database server to start up... [$tries]"; + sleep 5; + # Now see that today's table is there, which would indicate that the cron job ran. + mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI -s -e 'SHOW VARIABLES LIKE "%version%";' + look_exit=$?; + if [[ "$look_exit" = "0" ]]; then echo "Database server successfully started"; break; fi; + if [[ "$tries" -ge "$max_tries" ]]; then echo "Database server did not start in time"; exit 1; break; fi; + done; -before_script: - - mysql -e 'CREATE DATABASE IF NOT EXISTS froxlor010' - - echo "USE mysql;\nUPDATE user SET password=PASSWORD('fr0xl0r.TravisCI') WHERE user='root';\nFLUSH PRIVILEGES;\n" | mysql -u root - - mysql -u root -pfr0xl0r.TravisCI froxlor010 < install/froxlor.sql - - mysql -u root -pfr0xl0r.TravisCI -e "CREATE USER 'froxlor010'@'localhost' IDENTIFIED BY 'fr0xl0r.TravisCI';" - - mysql -u root -pfr0xl0r.TravisCI -e "GRANT ALL ON froxlor010.* TO 'froxlor010'@'localhost';" -# - phpenv config-rm xdebug.ini +install: + - mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI -e "CREATE DATABASE IF NOT EXISTS froxlor010" + - mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI -e "GRANT ALL ON froxlor010.* TO 'froxlor010'@'%' IDENTIFIED BY 'fr0xl0r.TravisCI';" + - mysql -h 127.0.0.1 --protocol=TCP -u root -pfr0xl0r.TravisCI froxlor010 < install/froxlor.sql script: - - ant phpunit + - ant phpunit after_success: - - bash <(curl -s https://codecov.io/bash) -f "build/logs/clover.xml" + - bash <(curl -s https://codecov.io/bash) -f "build/logs/clover.xml" notifications: irc: "irc.freenode.org#froxlor" diff --git a/tests/Mysqls/MysqlsTest.php b/tests/Mysqls/MysqlsTest.php index b0bd8527..45947c68 100644 --- a/tests/Mysqls/MysqlsTest.php +++ b/tests/Mysqls/MysqlsTest.php @@ -39,7 +39,7 @@ class MysqlsTest extends TestCase // test connection try { - $test_conn = new \PDO("mysql:host=localhost", 'test1sql1', $newPwd); + $test_conn = new \PDO("mysql:host=127.0.0.1", 'test1sql1', $newPwd); unset($test_conn); } catch (PDOException $e) { $this->fail($e->getMessage()); diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 5b2f1210..da941459 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -19,11 +19,11 @@ if (@php_sapi_name() !== 'cli') { $userdata_content = "