From 6a71e8549426a79ce18ba80cd29a8bc3fc8d180a Mon Sep 17 00:00:00 2001
From: Erick Hitter <git-contrib@ethitter.com>
Date: Sun, 12 May 2019 22:46:17 -0700
Subject: [PATCH] Full test matrix

---
 .gitlab-ci.yml  | 60 ++++++++++++++++++++++++++++++++++++++++---------
 .phpcs.xml.dist |  2 +-
 2 files changed, 51 insertions(+), 11 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 40c53b7..a4d4801 100755
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,6 +2,7 @@ variables:
   # Configure mysql service (https://hub.docker.com/_/mysql/)
   MYSQL_DATABASE: wordpress_tests
   MYSQL_ROOT_PASSWORD: mysql
+  WP_VERSION: latest
 
 cache:
   paths:
@@ -10,7 +11,7 @@ cache:
 
 before_script:
   # Set up WordPress tests
-  - bash bin/install-wp-tests.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD mysql latest true
+  - bash bin/install-wp-tests.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD mysql $WP_VERSION true
 
   # PHPUnit
   - |
@@ -20,10 +21,43 @@ before_script:
       composer global require "phpunit/phpunit=4.8.*"
     fi
 
-  # Install PHPCS and WPCS
-  - composer global require automattic/vipwpcs
-  - composer global require phpcompatibility/phpcompatibility-wp
-  - phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs,$HOME/.composer/vendor/phpcompatibility/php-compatibility,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-paragonie,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-wp
+PHPunit:PHP5.3:MySQL:
+  stage: test
+  variables:
+    WP_VERSION: 5.1.1
+  image: containers.ethitter.com:443/docker/images/php:5.3
+  services:
+    - mysql:5.6
+  script:
+    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
+    - phpunit
+
+PHPunit:PHP5.6:MySQL:
+  stage: test
+  image: containers.ethitter.com:443/docker/images/php:5.6
+  services:
+    - mysql:5.6
+  script:
+    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
+    - phpunit
+
+PHPunit:PHP7.0:MySQL:
+  stage: test
+  image: containers.ethitter.com:443/docker/images/php:7.0
+  services:
+    - mysql:5.6
+  script:
+    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
+    - phpunit
+
+PHPunit:PHP7.1:MySQL:
+  stage: test
+  image: containers.ethitter.com:443/docker/images/php:7.1
+  services:
+    - mysql:5.6
+  script:
+    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
+    - phpunit
 
 PHPunit:PHP7.2:MySQL:
   stage: test
@@ -32,9 +66,7 @@ PHPunit:PHP7.2:MySQL:
     - mysql:5.6
   script:
     - find . -type "f" -iname "*.php" | xargs -L "1" php -l
-    - phpcs -n
     - phpunit
-  allow_failure: true
 
 PHPunit:PHP7.3:MySQL:
   stage: test
@@ -43,13 +75,21 @@ PHPunit:PHP7.3:MySQL:
     - mysql:5.6
   script:
     - find . -type "f" -iname "*.php" | xargs -L "1" php -l
-    - phpcs -n
     - phpunit
-  allow_failure: true
+
+PHPCS:
+  stage: test
+  image: containers.ethitter.com:443/docker/images/php:7.3
+  before_script:
+    - composer global require automattic/vipwpcs
+    - composer global require phpcompatibility/phpcompatibility-wp
+    - phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs,$HOME/.composer/vendor/phpcompatibility/php-compatibility,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-paragonie,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-wp
+  script:
+    - phpcs -n
 
 PluginSVN:
   stage: deploy
-  image: containers.ethitter.com:443/docker/images/php:7.3
+  image: containers.ethitter.com:443/docker/wp-org-plugin-deploy:latest
   before_script:
     - curl -o ./bin/deploy.sh https://git-cdn.e15r.co/open-source/wp-org-plugin-deploy/raw/master/scripts/deploy.sh
     - chmod +x ./bin/deploy.sh
diff --git a/.phpcs.xml.dist b/.phpcs.xml.dist
index 0c031ac..0717712 100644
--- a/.phpcs.xml.dist
+++ b/.phpcs.xml.dist
@@ -19,7 +19,7 @@
 
 	<!-- Rules: Check PHP version compatibility -->
 	<!-- https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions -->
-	<config name="testVersion" value="7.2-"/>
+	<config name="testVersion" value="5.3-"/>
 	<!-- https://github.com/PHPCompatibility/PHPCompatibilityWP -->
 	<rule ref="PHPCompatibilityWP"/>
 
-- 
GitLab