diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d702d972d4bbd01417313c210a3499c7f674b274..7aacd12f86312a35192f2381d54374756c72703b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,54 +1,4 @@ -stages: - - vendor - - test - -.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: - - 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 global require hirak/prestissimo --quiet - - composer install --no-suggest --no-progress - artifacts: - name: "$CI_JOB_NAME" - paths: - - vendor - expire_in: 4 hours - cache: - key: "$CI_BUILD_REF_NAME-composer" - paths: - - "$COMPOSER_HOME" - -.php-test: &php-test - <<: *php - stage: test - dependencies: - - vendor - script: composer ${CI_JOB_NAME} - -phploc: { <<: *php-test } - -test:lint: { <<: *php-test } -test:phpcpd: { <<: *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 } +include: + - project: pole-is/tools/ci-config + ref: "1.2.0" + file: /php-package-ci.yml diff --git a/composer.json b/composer.json index 831cdaddc338c934fe7a2790f232047803ca5772..3521ad2577f86074d85ac2ad969018074e5beb3a 100644 --- a/composer.json +++ b/composer.json @@ -60,37 +60,34 @@ "fix-cs": "vendor/bin/php-cs-fixer fix", "test": [ "@test:lint", + "@test:php-cs-fixer", "@test:phpcpd", "@test:phpmd", "@test:phpstan", "@test:phpunit", - "@test:composer-validate", - "@test:composer-require", - "@test:security" - ], - "test:lint": [ - "vendor/bin/parallel-lint src tests", - "vendor/bin/php-cs-fixer fix --dry-run" + "@test:composer-require-checker", + "@test:security-checker" ], + "test:lint": "vendor/bin/parallel-lint src tests", + "test:php-cs-fixer": "vendor/bin/php-cs-fixer fix --dry-run", "test:phpcpd": "vendor/bin/phpcpd --fuzzy src tests", "test:phpmd": "vendor/bin/phpmd src,tests text ./phpmd-ruleset.xml", "test:phpstan": "vendor/bin/phpstan analyse --ansi --no-progress src tests", "test:phpunit": "vendor/bin/phpunit", - "test:composer-validate": "composer validate", - "test:composer-require": "vendor/bin/composer-require-checker check", - "test:security": "test '!' -s composer.lock || vendor/bin/security-checker security:check" + "test:composer-require-checker": "vendor/bin/composer-require-checker check", + "test:security-checker": "test '!' -s composer.lock || vendor/bin/security-checker security:check" }, "scripts-descriptions": { "fix-cs": "Applique les corrections automatiques de style.", "phploc": "Calcule des stats sur les sources.", "test": "Exécute tous les tests en série.", - "test:lint": "Vérifie la syntaxe et le style des sources.", + "test:lint": "Vérifie la syntaxe.", + "test:php-cs-fixer": "Vérifie la conformité au style de code.", "test:phpcpd": "Détecte les blocs de code similaires.", "test:phpmd": "Détecte des défauts de codage.", "test:phpstan": "Détecte des erreurs de programmation grâce au typage.", "test:phpunit": "Exécute les tests dynamiques.", - "test:composer-validate": "Vérifie la validité du composer.json.", - "test:composer-require": "Vérifie que les sources n'utilise que des librairies listés dans les dépendances directes.", - "test:security": "Vérifie qu'aucun paquet utilisé n'ait de faille de sécurité signalée." + "test:composer-require-checker": "Vérifie que les sources n'utilise que des librairies listées dans les dépendances directes.", + "test:security-checker": "Vérifie qu'aucun paquet utilisé n'ait de faille de sécurité signalée." } }