diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 623712d534af6b5bbfad002424c1fc9c6341208e..3b07c130d203b7ef250c1e9f7cb6999a0cb2096d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,7 +7,28 @@ test:
   tags: [docker]
   parallel:
     matrix:
-      - COMPOSER_MAJOR: "1"
-      - COMPOSER_MAJOR: "2"
-  image: composer:${COMPOSER_MAJOR}
-  script: composer install --ignore-platform-reqs
+      - COMPOSER_MAJOR:
+          - "1"
+          - "2"
+        COMPOSER_OPTS:
+          - ""
+          - "--prefer-lowest --prefer-stable"
+        PHP_VERSION:
+          - "7.1"
+          - "7.3"
+          - "7.4"
+          - "8.0-rc"
+  image: php:${PHP_VERSION}-cli
+  rules:
+    - if: $PHP_VERSION == "8.0-rc"
+      allow_failure: true
+    - when: always
+  before_script:
+    - echo -e "section_start:`date +%s`:setup[collapsed=true]\r\e[0KInstall dependencies"
+    - apt-get update -yqq && apt-get install -yqq unzip git
+    - curl -sSL "https://getcomposer.org/composer-${COMPOSER_MAJOR}.phar" -o /tmp/composer
+    - echo -en "section_end:`date +%s`:setup\r\e[0K"
+    - php -v
+    - php /tmp/composer -V
+  script:
+    - php /tmp/composer update --ignore-platform-reqs