Skip to content

Commit

Permalink
Refactor MySQL and MariaDB run in a single script
Browse files Browse the repository at this point in the history
  • Loading branch information
greg0ire committed Feb 29, 2020
1 parent b18ec2a commit 8f00e8b
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 125 deletions.
78 changes: 23 additions & 55 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ before_install:
fi
before_script:
- if [[ "$DB" == "mysql" || "$DB" == "mysqli" || "$DB" == *"mariadb"* ]]; then mysql < tests/travis/create-mysql-schema.sql; fi;
- |
if [[ -n "$IMAGE" ]]
then
bash ./tests/travis/docker-run-mysql-or-mariadb.sh
fi
install:
- travis_retry composer -n install --prefer-dist
Expand Down Expand Up @@ -53,34 +57,26 @@ jobs:

- stage: Test
php: 7.2
env: DB=mysql.docker MYSQL_VERSION=8.0
env: DB=mysql.docker IMAGE=mysql:8.0
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-mysql-8.0.sh
- stage: Test
php: 7.2
env: DB=mysqli.docker MYSQL_VERSION=8.0
env: DB=mysqli.docker IMAGE=mysql:8.0
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-mysql-8.0.sh
- stage: Test
php: 7.2
env: DB=mariadb.docker MARIADB_VERSION=10.3
env: DB=mariadb.docker IMAGE=mariadb:10.3
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.2
env: DB=mariadb.mysqli.docker MARIADB_VERSION=10.3
env: DB=mariadb.mysqli.docker IMAGE=mariadb:10.3
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.2
env: DB=pgsql POSTGRESQL_VERSION=11.0
Expand Down Expand Up @@ -114,74 +110,54 @@ jobs:
- bash ./tests/travis/install-mssql.sh
- stage: Test
php: 7.3
env: DB=mysql.docker MYSQL_VERSION=5.7 COVERAGE=yes
env: DB=mysql.docker IMAGE=mysql:5.7 COVERAGE=yes
sudo: required
before_script:
- bash ./tests/travis/install-mysql-5.7.sh
- stage: Test
php: 7.3
env: DB=mysql.docker MYSQL_VERSION=8.0 COVERAGE=yes
env: DB=mysql.docker IMAGE=mysql:8.0 COVERAGE=yes
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-mysql-8.0.sh
- stage: Test
php: 7.3
env: DB=mysqli.docker MYSQL_VERSION=5.7 COVERAGE=yes
env: DB=mysqli.docker IMAGE=mysql:5.7 COVERAGE=yes
sudo: required
before_script:
- bash ./tests/travis/install-mysql-5.7.sh
- stage: Test
php: 7.3
env: DB=mysqli.docker MYSQL_VERSION=8.0 COVERAGE=yes
env: DB=mysqli.docker IMAGE=mysql:8.0 COVERAGE=yes
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-mysql-8.0.sh
- stage: Test
php: 7.3
env: DB=mariadb.docker MARIADB_VERSION=10.1 COVERAGE=yes
env: DB=mariadb.docker IMAGE=mariadb:10.1 COVERAGE=yes
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.3
env: DB=mariadb.docker MARIADB_VERSION=10.2 COVERAGE=yes
env: DB=mariadb.docker IMAGE=mariadb:10.2 COVERAGE=yes
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.3
env: DB=mariadb.docker MARIADB_VERSION=10.3 COVERAGE=yes
env: DB=mariadb.docker IMAGE=mariadb:10.3 COVERAGE=yes
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.3
env: DB=mariadb.mysqli.docker MARIADB_VERSION=10.1 COVERAGE=yes
env: DB=mariadb.mysqli.docker IMAGE=mariadb:10.1 COVERAGE=yes
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.3
env: DB=mariadb.mysqli.docker MARIADB_VERSION=10.2 COVERAGE=yes
env: DB=mariadb.mysqli.docker IMAGE=mariadb:10.2 COVERAGE=yes
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.3
env: DB=mariadb.mysqli.docker MARIADB_VERSION=10.3 COVERAGE=yes
env: DB=mariadb.mysqli.docker IMAGE=mariadb:10.3 COVERAGE=yes
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.3
env: DB=pgsql POSTGRESQL_VERSION=9.4 COVERAGE=yes
Expand Down Expand Up @@ -249,34 +225,26 @@ jobs:
- travis_retry composer update --prefer-dist --prefer-lowest
- stage: Test
php: 7.4
env: DB=mysql.docker MYSQL_VERSION=8.0
env: DB=mysql.docker IMAGE=mysql:8.0
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-mysql-8.0.sh
- stage: Test
php: 7.4
env: DB=mysqli.docker MYSQL_VERSION=8.0
env: DB=mysqli.docker IMAGE=mysql:8.0
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-mysql-8.0.sh
- stage: Test
php: 7.4
env: DB=mariadb.docker MARIADB_VERSION=10.3
env: DB=mariadb.docker IMAGE=mariadb:10.3
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.4
env: DB=mariadb.mysqli.docker MARIADB_VERSION=10.3
env: DB=mariadb.mysqli.docker IMAGE=mariadb:10.3
services:
- docker
before_script:
- bash ./tests/travis/install-mariadb.sh
- stage: Test
php: 7.4
env: DB=pgsql POSTGRESQL_VERSION=11.0
Expand Down
10 changes: 0 additions & 10 deletions tests/travis/create-mysql-schema.sql

This file was deleted.

32 changes: 32 additions & 0 deletions tests/travis/docker-run-mysql-or-mariadb.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/usr/bin/env bash

set -ex

echo "Starting RDBMS…"

if [[ "$IMAGE" == "mysql:8.0" ]]
then
CMD_OPTIONS="--default-authentication-plugin=mysql_native_password"
else
CMD_OPTIONS=""
fi

sudo docker run \
--health-cmd='mysqladmin ping --silent' \
--detach \
--env MYSQL_ALLOW_EMPTY_PASSWORD=yes \
--env MYSQL_DATABASE=doctrine_tests \
--publish 33306:3306 \
--name rdbms \
"$IMAGE" $CMD_OPTIONS

until [ "$(sudo docker inspect --format "{{json .State.Health.Status }}" rdbms)" == "\"healthy\"" ]
do
if [ "$(sudo docker inspect --format "{{json .State.Health.Status }}" rdbms)" == "\"unhealthy\"" ]
then
echo "Container is unhealthy"
exit 1
fi
echo "Waiting for RDBMS to become ready…"
sleep 1
done
18 changes: 0 additions & 18 deletions tests/travis/install-mariadb.sh

This file was deleted.

20 changes: 0 additions & 20 deletions tests/travis/install-mysql-5.7.sh

This file was deleted.

22 changes: 0 additions & 22 deletions tests/travis/install-mysql-8.0.sh

This file was deleted.

0 comments on commit 8f00e8b

Please sign in to comment.