Aller au contenu principal

PHPStan

Intégration de phpstan : analyse statique du 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 phpstan trois fois, avec la configuration PHPSTAN_CONFIG_FILE :

  1. pour produire codequality_phpstan.json, le rapport au format Code Quality de GitLab ;
  2. pour produire un rapport JUnit ;
  3. pour le rapport lisible, écrit dans PHPSTAN_QA_FILE et affiché dans le journal du job. C'est ce troisième passage qui décide du résultat du job.

Le nombre d'erreurs est relevé dans qa-reports-phpstan.env, pour le job deploy-metrics.

codequality_phpstan.json, PHPSTAN_QA_FILE et qa-reports-phpstan.env sont publiés en artefacts, conservés un jour, même quand le job échoue.

Utilisation​

variables:
CI_TEMPLATE_VERSION: &CI_TEMPLATE_VERSION main
PHPSTAN_DOCKER_IMAGE: wodby/drupal-php:8.3-dev
PHPSTAN_QA_FILE: files/phpstan.txt
PHPSTAN_CONFIG_FILE: phpstan.neon
PHPSTAN_ALLOW_FAILURE: "true"

include:
- project: kgaut/gitlab-ci-templates
ref: *CI_TEMPLATE_VERSION
file:
- '/templates/generic/stages-variables-extends.yml'
- '/templates/qa/phpstan.yml'

Variables nécessaires​

Nom de la variableContenuExempleRemarque
PHPSTAN_DOCKER_IMAGEImage docker à utiliser pour exécuter le testwodby/drupal-php:8.3-devpar défaut wodby/drupal-php:7.4-dev ; à adapter au PHP du projet
PHPSTAN_QA_FILEChemin et nom du fichier de sortie, publié en artefactfiles/phpstan.txtpar défaut files/phpstan.txt ; son dossier doit exister dans le dépôt
PHPSTAN_CONFIG_FILEFichier de config phpstan, relatif à la racine du projetphpstan.neonpar défaut phpstan.neon
PHPSTAN_ALLOW_FAILUREÀ une autre valeur que "true", un échec du job arrête la pipeline"false"par défaut "true"

Liste des jobs​

phpstan​

Analyse statique du code (stage QA).