Browse Source

:construction_worker:Extend Travis, add PostgreSQL10.

Add PostgreSQL10 to TravisCI through Docker container.
Use PHP7.2 instead of PHP7.1 as default test environment.
Update to current stable MariaDB 10.2 from stable (GA) 10.1.
Klaus Weidenbach 1 year ago
parent
commit
a732b2bca1
2 changed files with 28 additions and 15 deletions
  1. 17 9
      .travis.yml
  2. 11 6
      tests/travis/prepare_pgsql.sh

+ 17 - 9
.travis.yml

@@ -62,28 +62,34 @@ matrix:
   fast_finish: true
   # Additional check combinations
   include:
-    # PHP7.1, mariadb 10.1
-    - php: '7.1'
-      env: DB=mariadb MARIADB_VERSION=10.1 CODECOV=1
+    # PHP7.2, mariadb 10.2
+    - php: '7.2'
+      env: DB=mariadb MARIADB_VERSION=10.2 CODECOV=1
       # use mariadb instead of MySQL
       addons:
-        mariadb: '10.1'
-    # PHP7.1, PostgreSQL 9.6
-    - php: '7.1'
+        mariadb: '10.2'
+    # PHP7.2, PostgreSQL 9.6
+    - php: '7.2'
       env: DB=pgsql POSTGRESQL_VERSION=9.6 PHPUNITFILE=phpunit-pgsql.xml
       # Use newer postgres than 9.2 default
       addons:
         postgresql: '9.6'
       services:
         - postgresql
-    # PHP7.1, old precise distribution with MySQL 5.5
-    - php: '7.1'
+    # PostgreSQL 10 with Docker container
+    - php: '7.2'
+      env: DB=pgsql POSTGRESQL_VERSION=10 PHPUNITFILE=phpunit-pgsql.xml
+      sudo: required
+      services:
+        - docker
+    # PHP7.2, old precise distribution with MySQL 5.5
+    - php: '7.2'
       env: DB=mysql MYSQL_VERSION=5.5
       dist: precise
       services:
         - mysql
     # MySQL 5.7 with Docker container
-    - php: '7.1'
+    - php: '7.2'
       env: DB=mysql MYSQL_VERSION=5.7
       sudo: required
       services:
@@ -109,6 +115,8 @@ before_install:
   - travis_retry composer self-update
   # Start MySQL 5.7 Docker container, needs some time to come up
   - if [[ "$MYSQL_VERSION" == "5.7" ]]; then sudo service mysql stop; docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:5.7 && sleep 25 && docker ps; fi
+  # Start PostgreSQL 10 Docker container, needs some time to come up
+  - if [[ "$POSTGRESQL_VERSION" == "10" ]]; then sudo service postgresql stop; docker run -d -p 5432:5432 postgres:10-alpine && sleep 35 && docker ps; fi
 
 # Install composer dev libs
 install:

+ 11 - 6
tests/travis/prepare_pgsql.sh

@@ -27,14 +27,19 @@ set -e
 
 echo "Preparing for PostgreSQL ..."
 
+if [[ "$POSTGRESQL_VERSION" == "10" ]]; then
+	echo "Using PostgreSQL in Docker container, need to use TCP"
+	export PROTO="-h localhost"
+fi
+
 # Print out some PostgreSQL information
 psql --version
 # Why does this hang further execution of the job?
-psql -U postgres -c "SELECT VERSION();"
+psql $PROTO -U postgres -c "SELECT VERSION();"
 
 # Create Hubzilla database
-psql -U postgres -c "DROP DATABASE IF EXISTS travis_hubzilla;"
-psql -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
+psql $PROTO -U postgres -c "DROP DATABASE IF EXISTS travis_hubzilla;"
+psql $PROTO -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
     CREATE USER travis_hz WITH PASSWORD 'hubzilla';
     CREATE DATABASE travis_hubzilla;
     ALTER DATABASE travis_hubzilla OWNER TO travis_hz;
@@ -42,8 +47,8 @@ psql -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
 EOSQL
 
 # Import table structure
-psql -U travis_hz -v ON_ERROR_STOP=1 travis_hubzilla < ./install/schema_postgres.sql
+psql $PROTO -U travis_hz -v ON_ERROR_STOP=1 travis_hubzilla < ./install/schema_postgres.sql
 
 # Show databases and tables
-psql -U postgres -l
-psql -U postgres -d travis_hubzilla -c "\dt;"
+psql $PROTO -U postgres -l
+psql $PROTO -U postgres -d travis_hubzilla -c "\dt;"