diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ca3d0500172aa79f169e081d79106ede40148075..f7bd48bfa0bb7d8f72472f2c6df0b95c83a7fee4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,38 +1,12 @@
-stages:
-  - test
-  - deploy
-
-.test: &test
-  stage: test
-  tags: [docker]
-  image: php:${CI_JOB_NAME}-cli-alpine
+include:
+  - project: pole-is/tools/ci-config
+    ref: master
+    file: /php-multiversions-ci.yml
+  - project: pole-is/tools/ci-config
+    ref: master
+    file: /packagist-ci.yml
+
+test:7.2:
+  extends: .php-test
   variables:
-    COMPOSER_ALLOW_SUPERUSER: "1"
-  before_script:
-    - curl -sSL https://github.com/composer/composer/releases/download/1.8.4/composer.phar --output /usr/local/bin/composer
-    - chmod +x /usr/local/bin/composer
-    - apk update && apk add unzip git
-    - php -v
-    - composer -V
-    - composer global require hirak/prestissimo
-  script:
-    - composer install
-  cache:
-    key: composer-cache
-    paths:
-      - /root/.composer/cache
-
-"7.1":
-  <<: *test
-
-"7.2":
-  <<: *test
-
-"7.3":
-  <<: *test
-
-deploy:
-  stage: deploy
-  tags: [docker]
-  image: appropriate/curl
-  script: ./.packagist.sh
+    PHP_VERSION: "7.2"
diff --git a/.packagist.sh b/.packagist.sh
deleted file mode 100755
index a4d7718b4bf54dd689cfcbdc75a0c3e97d2033c7..0000000000000000000000000000000000000000
--- a/.packagist.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env sh
-curl -fsSL \
-    -H"Content-Type: application/json" \
-    -d'{"repository":{"url":"'$CI_PROJECT_URL'.git"}}' \
-    "https://packagist.org/api/update-package?username=$PACKAGIST_USERNAME&apiToken=$PACKAGIST_TOKEN"
diff --git a/composer.json b/composer.json
index 31445f9cdf1b72f4df151aa6815e70f510d160ce..3fc065b2384d61d21131a986a8b47a3b09b10975 100644
--- a/composer.json
+++ b/composer.json
@@ -31,5 +31,13 @@
     },
     "archive": {
         "exclude": [".?*"]
+    },
+    "scripts": {
+      "test": [
+        "vendor/bin/phpstan analyse -c loose.neon bin",
+        "vendor/bin/phpstan analyse -c strict.neon bin",
+        "vendor/bin/phpstan analyse -c symfony.neon -l 1 bin",
+        "vendor/bin/phpstan analyse -c phpunit.neon -l 1 bin"
+     ]
     }
 }
diff --git a/loose.neon b/loose.neon
index d5b4a0ae91a3d860318a4217a5b0cfd871611724..2bc6346b469c184f356d5dfac95219ac5ee0f813 100644
--- a/loose.neon
+++ b/loose.neon
@@ -1,5 +1,5 @@
 includes:
-    - ../../phpstan/phpstan-beberlei-assert/extension.neon
+    - %rootDir%/../phpstan-beberlei-assert/extension.neon
 
 parameters:
     level: 1
diff --git a/phpunit.neon b/phpunit.neon
index ddde8bc0c7238a639f077611364e02a4af2233a3..4824995876193704000426bdc8edf060571193e1 100644
--- a/phpunit.neon
+++ b/phpunit.neon
@@ -1,4 +1,4 @@
 includes:
-    - ../../phpstan/phpstan-phpunit/extension.neon
-    - ../../phpstan/phpstan-phpunit/rules.neon
-    - ../../jangregor/phpstan-prophecy/src/extension.neon
+    - %rootDir%/../phpstan-phpunit/extension.neon
+    - %rootDir%/../phpstan-phpunit/rules.neon
+    - %rootDir%/../../jangregor/phpstan-prophecy/src/extension.neon
diff --git a/symfony.neon b/symfony.neon
index a886a7bdb3c21aebd8520cd3468c2319ad30edc8..36b817501f9385b0fb5e18b3009ae22262cff878 100644
--- a/symfony.neon
+++ b/symfony.neon
@@ -1,10 +1,10 @@
 includes:
-    - ../../phpstan/phpstan-doctrine/extension.neon
-    - ../../phpstan/phpstan-doctrine/rules.neon
-    - ../../phpstan/phpstan-symfony/extension.neon
+    - %rootDir%/../phpstan-doctrine/extension.neon
+    - %rootDir%/../phpstan-doctrine/rules.neon
+    - %rootDir%/../phpstan-symfony/extension.neon
 
 parameters:
     excludes_analyse:
-        - %rootDir%/../../../var
-        - %rootDir%/../../../app/cache
-        - %rootDir%/../../../app/logs
+        - %rootDir%/../../var
+        - %rootDir%/../../app/cache
+        - %rootDir%/../../app/logs