Commit 39f56484 authored by Guillaume Perréal's avatar Guillaume Perréal
Browse files

Mise au pli du .gitlab-ci.yml.

Showing with 46 additions and 63 deletions
+46 -63
stages:
- build
- vendor
- test
variables:
COMPOSER_ALLOW_SUPERUSER: "1"
COMPOSER_NO_INTERACTION: "1"
COMPOSER_HOME: "$CI_PROJECT_DIR/.composer"
install-vendors:
tags: [ docker ]
stage: build
image: composer:1.8
dependencies: []
.php: &php
tags:
- docker
image: php:${PHP_VERSION}-cli-stretch
variables:
COMPOSER_HOME: "$CI_PROJECT_DIR/.composer"
COMPOSER_NO_INTERACTION: "1"
COMPOSER_ALLOW_SUPERUSER: "1"
COMPOSER_INSTALLER_COMMITID: "5eb0614d3fa7130b363698d3dca52c619b463615"
PHP_VERSION: "7.1"
before_script:
- mkdir -p "$COMPOSER_HOME" vendor/bin
- composer global require hirak/prestissimo
- cp $(which composer) vendor/bin/composer
- apt-get update -yqq && apt-get install -yqq unzip git-core
- php -v
- curl -sSfL https://raw.githubusercontent.com/composer/getcomposer.org/${COMPOSER_INSTALLER_COMMITID}/web/installer | php -- --install-dir=/usr/local/bin --filename=composer --quiet
- composer -V
vendor:
<<: *php
stage: vendor
dependencies: []
script:
- composer validate
- composer install -n --prefer-dist --no-suggest --no-progress --no-scripts --ignore-platform-reqs
cache:
key: "$CI_COMMIT_REF_NAME-composer"
paths:
- $COMPOSER_HOME
- composer global require hirak/prestissimo --quiet
- composer install --no-suggest --no-progress
artifacts:
name: vendors
name: "$CI_JOB_NAME"
paths:
- vendor
expire_in: "1 day"
expire_in: 4 hours
cache:
key: "$CI_BUILD_REF_NAME-composer"
paths:
- "$COMPOSER_HOME"
.test: &test
tags: [ docker ]
.php-test: &php-test
<<: *php
stage: test
image: php:7.1-cli
dependencies: [ install-vendors ]
phploc:
<<: *test
script: vendor/bin/composer test:phploc
phpstan:
<<: *test
script: vendor/bin/composer test:phpstan
lint:
<<: *test
script: vendor/bin/composer test:lint
php-cs-fixer:
<<: *test
before_script:
- apt-get update -yqq && apt-get install -yqq git
script: vendor/bin/composer test:php-cs-fixer
phpcpd:
<<: *test
script: vendor/bin/composer test:phpcpd
dependencies:
- vendor
script: composer ${CI_JOB_NAME}
phploc: { <<: *php-test }
test:lint: { <<: *php-test }
test:phpmd: { <<: *php-test }
test:phpstan: { <<: *php-test }
test:phpunit: { <<: *php-test }
test:composer-validate: { <<: *php-test }
test:composer-require: { <<: *php-test }
test:security: { <<: *php-test }
test:phpcpd:
<<: *php-test
allow_failure: true
phpunit:
<<: *test
script: vendor/bin/composer test:phpunit
composer-require-checker:
<<: *test
before_script:
- apt-get update -yqq && apt-get install -yqq zlib1g-dev
- docker-php-ext-install -j$(nproc) zip
script: vendor/bin/composer test:composer-require-checker
phpmd:
<<: *test
script: vendor/bin/composer test:phpmd
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment