From c7704c11b44d01c864fdf89f1dc87e86c8daa29c Mon Sep 17 00:00:00 2001 From: Daniel-I-Am Date: Sat, 4 Sep 2021 13:32:35 +0200 Subject: [PATCH] First attempt of adding CI/CD for php --- .gitlab-ci.yml | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1a965b9..4d13256 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,46 @@ stages: + - build + - test - docker - deploy +variables: + MYSQL_DATABASE: portfolio + MYSQL_ROOT_PASSWORD: password + +php-build-job: + stage: build + image: composer:2 + script: + - composer install + artifacts: + paths: + - vendor/ + +php-test-job: + stage: test + image: php:8-cli + services: + - mysql:5 + needs: + - php-build-job + dependencies: + - php-build-job + script: + - yes | pecl install xdebug + - echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini + - echo "xdebug.mode=coverage" >> /usr/local/etc/php/conf.d/xdebug.ini + - export DB_CONNECTION=mysql + - export DB_HOST=mysql + - export DB_PORT=3306 + - export DB_DATABASE="$MYSQL_DATABASE" + - export DB_USERNAME=root + - export DB_PASSWORD="$MYSQL_ROOT_PASSWORD" + - ./vendor/bin/phpunit --coverage-cobertura code-coverage.xml + artifacts: + reports: + cobertura: code-coverage.xml + docker-auth-job: stage: docker image: docker:stable @@ -21,6 +60,8 @@ docker-build-job: only: refs: - master + needs: + - php-test-job tags: - docker script: