Turns checkstyle based XML-Reports into Github Pull Request Annotations via the Checks API. This script is meant for use within your GithubAction.
That means you no longer search thru your GithubAction logfiles. No need to interpret messages which are formatted differently with every tool. Instead you can focus on your Pull Request, and you don't need to leave the Pull Request area.
Images from https://github.com/mheap/phpunit-github-actions-printer
Install the binary via composer
composer require staabm/annotate-pull-request-from-checkstyle
Run one of the following commands within your GithubAction workflow:
vendor/bin/cs2pr /path/to/checkstyle-report.xml
Using PHPStan
phpstan analyse --error-format=checkstyle | vendor/bin/cs2pr
Using Psalm
psalm --output-format=checkstyle | vendor/bin/cs2pr`
Using PHP Coding Standards Fixer
php-cs-fixer --format=checkstyle | vendor/bin/cs2pr
... works for any command which produces a checkstyle-formatted report.
# ...
jobs:
phpstan-analysis:
name: phpstan static code analysis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v1
with:
php-version: 7.3
coverage: none # disable xdebug, pcov
- run: |
composer install # install your apps dependencies
composer require staabm/annotate-pull-request-from-checkstyle # install cs2pr
vendor/bin/phpstan analyse --error-format=checkstyle | vendor/bin/cs2pr
This script is based on a suggestion of Benjamin Eberlei
The Code is inspired by https://github.com/mheap/phpunit-github-actions-printer