This library adds a custom report to PHP_CodeSniffer (phpcs) to generate a codequality artifact, which can be used by Gitlab CI/CD. The custom report will be generated in the Code Climate format and allows Gitlab CI/CD to display the violations in the Code Quality report.
Install this library using Composer:
composer require --dev micheh/phpcs-gitlab
Then adjust your .gitlab-ci.yml
to run PHP_CodeSniffer with the custom reporter and to gather the codequality artifacts:
phpcs:
script: vendor/bin/phpcs --report=full --report-\\Micheh\\PhpCodeSniffer\\Report\\Gitlab=phpcs-quality-report.json
artifacts:
reports:
codequality: phpcs-quality-report.json
The example above uses two reports, one to display in the build log (full) and one to generate the codequality artifact file in the Code Climate format.
Note: Gitlab currently does not support multiple codequality artifacts. You will not be able to display the violations of multiple tools (e.g. PHP Code Sniffer & PHPStan) in the Code Quality report.
Inside the codequality artifact, Gitlab expects relative paths to the files with violations.
To generate relative paths with PHP Code Sniffer, set the basepath
argument in your phpcs.xml.dist
configuration file with <arg name="basepath" value="."/>
or run phpcs with --basepath=.
(adjust the base path as necessary).
The files in this archive are licensed under the BSD-3-Clause license. You can find a copy of this license in LICENSE.md.