DeltaCMS/.gitlab-ci.yml

72 lines
1.9 KiB
YAML

# This file is a template, and might need editing before it works on your project.
# Select image from https://hub.docker.com/_/php/
image: php:latest
# Select what we should cache between builds
cache:
paths:
- vendor/
stages:
- Build
- Test
- Code Quality
- Package
before_script:
- apt-get update -yqq
- apt-get install -yqq git zip tar # libicu-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev
# Install PHP extensions
- docker-php-ext-install json
# json is neccesary
# Install & enable Xdebug for code coverage reports
- pecl install xdebug
- docker-php-ext-enable xdebug
# Install and run Composer
- curl -sS https://getcomposer.org/installer | php
# Bring in any services we need http://docs.gitlab.com/ee/ci/docker/using_docker_images.html#what-is-a-service
# See http://docs.gitlab.com/ce/ci/services/README.html for examples.
services:
- mysql:5.7
# Set any variables we need
variables:
# Configure mysql environment variables (https://hub.docker.com/r/_/mysql/)
MYSQL_DATABASE: adminpanl
MYSQL_ROOT_PASSWORD: adminpanel
# Run our tests
# If Xdebug was installed you can generate a coverage report and see code coverage metrics.
build:
stage: Build
script:
- php composer.phar install
"PHP Mess Detector":
stage: Code Quality
script:
- php composer.phar run phpmd
"PHP Unit":
stage: Test
script:
- php composer.phar run phpunit
- vendor/bin/codacycoverage clover tmp/code-coverage.xml
"PHP CodeSniffer":
stage: Code Quality
script: php composer.phar run phpcs
"Package":
stage: Package
artifacts:
paths:
- package.zip
- package.tar.gz
script:
- php composer.phar install --no-dev --optimize-autoloader
- cat production.txt | zip package.zip -r -@
- tar -cvzf package.tar.gz -T production.txt