PHPCS
Intégration de phpcs : contrôle des standards de code, avec un rapport en artefact.
Règles de déclenchement, cache Composer et caractère bloquant : voir le fonctionnement des jobs QA.
Fonctionnement
Après un composer install, le job lance phpcs deux fois :
- pour produire
codequality_phpcs.json, le rapport au format Code Quality de GitLab (il demande le paquetmicheh/phpcs-gitlabdans le projet) ; - avec le standard
PHPCS_CONFIG_FILE, pour le rapport lisible, écrit dansPHPCS_QA_FILEet affiché dans le journal du job. C'est ce second passage qui décide du résultat du job.
Le nombre d'erreurs et d'avertissements est relevé dans qa-reports-phpcs.env, pour le job deploy-metrics.
Les trois fichiers sont publiés en artefacts, conservés un jour, même quand le job échoue.
Utilisation
variables:
CI_TEMPLATE_VERSION: &CI_TEMPLATE_VERSION main
PHPCS_DOCKER_IMAGE: wodby/drupal-php:8.3-dev
PHPCS_QA_FILE: files/phpcs.txt
PHPCS_CONFIG_FILE: phpcs.xml
PHPCS_ALLOW_FAILURE: "true"
include:
- project: kgaut/gitlab-ci-templates
ref: *CI_TEMPLATE_VERSION
file:
- '/templates/generic/stages-variables-extends.yml'
- '/templates/qa/phpcs.yml'
Variables nécessaires
| Nom de la variable | Contenu | Exemple | Remarque |
|---|---|---|---|
| PHPCS_DOCKER_IMAGE | Image docker à utiliser pour exécuter le test | wodby/drupal-php:8.3-dev | par défaut wodby/drupal-php:7.4-dev ; à adapter au PHP du projet |
| PHPCS_QA_FILE | Chemin et nom du fichier de sortie, publié en artefact | files/phpcs.txt | par défaut files/phpcs.txt ; son dossier doit exister dans le dépôt |
| PHPCS_CONFIG_FILE | Fichier de config phpcs, relatif à la racine du projet | phpcs.xml | par défaut phpcs.xml |
| PHPCS_ALLOW_FAILURE | À une autre valeur que "true", un échec du job arrête la pipeline | "false" | par défaut "true" |
Liste des jobs
phpcs
Contrôle les standards de code (stage QA).