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 073e994
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 123 deletions.
87 changes: 24 additions & 63 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@ before_install:
fi
before_script:
- if [[ "$DB" == "mysql" || "$DB" == "mysqli" || "$DB" == *"mariadb"* ]]; then mysql < tests/travis/create-mysql-schema.sql; fi;
- |
if [[ "$DB" == "mysql" || "$DB" == "mysqli" || "$DB" == *"mariadb"* ]]
then
bash ./tests/travis/docker-run-mysql-or-mariadb.sh
mysql < tests/travis/create-mysql-schema.sql
fi
install:
- travis_retry composer -n install --prefer-dist
Expand Down Expand Up @@ -53,42 +58,32 @@ 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
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-postgres-11.sh
- stage: Test
php: 7.2
env: DB=sqlite
Expand All @@ -114,74 +109,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 All @@ -203,16 +178,12 @@ jobs:
sudo: required
addons:
postgresql: "10"
before_script:
- bash ./tests/travis/install-postgres-10.sh
- stage: Test
php: 7.3
env: DB=pgsql POSTGRESQL_VERSION=11.0 COVERAGE=yes
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-postgres-11.sh
- stage: Test
php: 7.3
env: DB=sqlsrv COVERAGE=yes
Expand Down Expand Up @@ -249,42 +220,32 @@ 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
sudo: required
services:
- docker
before_script:
- bash ./tests/travis/install-postgres-11.sh
- stage: Test
php: 7.4
env: DB=sqlite
Expand Down
20 changes: 20 additions & 0 deletions tests/travis/docker-run-mysql-or-mariadb.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

set -ex

echo "Starting RDBMS…"

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}"

until [ "$(sudo docker inspect --format "{{json .State.Health.Status }}" rdbms)" == "\"healthy\"" ]
do
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 073e994

Please sign in to comment.