diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a9edce0820e7c86039cf6b3404a791e0bce0af16
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,64 @@
+variables:
+  # Configure mysql service (https://hub.docker.com/_/mysql/)
+  MYSQL_DATABASE: wordpress_tests
+  MYSQL_ROOT_PASSWORD: mysql
+
+before_script:
+  # Install dependencies
+
+  # update the docker
+  - apt-get clean
+  - apt-get -yqq update
+
+  # instll the required packages for the running CI tests
+  - apt-get -yqqf install zip unzip subversion mysql-client libmysqlclient-dev --fix-missing
+
+  # PHP extensions
+  - docker-php-ext-enable mbstring mcrypt mysqli pdo_mysql intl gd zip bz2
+
+  # Set up WordPress tests
+  - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql latest true
+
+  # Install PHPCS and WPCS
+  - composer global require automattic/vipwpcs
+  - phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs
+
+PHPunit:PHP5.3:MySQL:
+  image: tetraweb/php:5.3
+  services:
+    - mysql:5.6
+  script:
+  - phpcs
+  - phpunit
+
+PHPunit:PHP5.6:MySQL:
+  image: tetraweb/php:5.6
+  services:
+    - mysql:5.6
+  script:
+  - phpcs
+  - phpunit
+
+PHPunit:PHP7.0:MySQL:
+  image: tetraweb/php:7.0
+  services:
+    - mysql:5.6
+  script:
+  - phpcs
+  - phpunit
+
+PHPunit:PHP7.1:MySQL:
+  image: tetraweb/php:7.1
+  services:
+    - mysql:5.6
+  script:
+  - phpcs
+  - phpunit
+
+PHPunit:PHP7.2:MySQL:
+  image: tetraweb/php:7.2
+  services:
+    - mysql:5.6
+  script:
+  - phpcs
+  - phpunit
diff --git a/.travis.yml b/.travis.yml
index d2b35d6e3b3d8b0589b3a1a02d9d612cd46d62f4..38e5608e534f0dee4b8520bd1e9a5f0a0d12cb44 100755
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,8 +46,8 @@ before_script:
     fi
   - |
     if [[ "$WP_TRAVISCI" == "phpcs" ]] ; then
-      composer global require wp-coding-standards/wpcs
-      phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs
+      composer global require automattic/vipwpcs
+      phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs
     fi
 
 script:
diff --git a/bin/install-wp-tests.sh b/bin/install-wp-tests.sh
index 878881f0315b397fd3d758752702d4aa45edc8e0..364f83999f95f0cf17ef2696bc74c8f89cbe932a 100755
--- a/bin/install-wp-tests.sh
+++ b/bin/install-wp-tests.sh
@@ -95,7 +95,7 @@ install_wp() {
 install_test_suite() {
 	# portable in-place argument for both GNU sed and Mac OSX sed
 	if [[ $(uname -s) == 'Darwin' ]]; then
-		local ioption='-i .bak'
+		local ioption='-i.bak'
 	else
 		local ioption='-i'
 	fi