diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a379fc..b48937b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,40 +1,9 @@ -# 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:7.1.1 - -# Select what we should cache between builds -cache: - paths: - - vendor/ +image: php:7.0 before_script: -- apt-get update -yqq -- apt-get install -yqq git libmcrypt-dev libpq-dev libcurl4-gnutls-dev 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 mbstring mcrypt pdo_sqlite pdo_mysql curl json intl gd xml zip bz2 opcache -- docker-php-ext-enable pdo_sqlite pdo_mysql -# 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 -- php composer.phar install + # Install dependencies + - bash ci/docker_install.sh > /dev/null -# 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: ci - MYSQL_RANDOM_ROOT_PASSWORD: yes - MYSQL_USER: ci - MYSQL_PASSWORD: ci_password - -# Run our tests -# If Xdebug was installed you can generate a coverage report and see code coverage metrics. -test: +test:local: script: - - vendor/bin/phpunit --configuration phpunit.xml --coverage-text --colors=never + - composer.phar test-local diff --git a/ci/docker_install.sh b/ci/docker_install.sh new file mode 100644 index 0000000..c6bc2d7 --- /dev/null +++ b/ci/docker_install.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# We need to install dependencies only for Docker +[[ ! -e /.dockerenv ]] && exit 0 + +set -xe + +# Install git (the php image doesn't have it) which is required by composer +apt-get update -yqq +apt-get install git -yqq + +# Install phpunit, the tool that we will use for testing +curl --location --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit.phar +chmod +x /usr/local/bin/phpunit + +# Install mysql driver +# Here you can install any other extension that you need +docker-php-ext-install pdo_mysql pdo_sqlite