mridang / cpd-annotations
将CPD风格的XML报告转换为GitHub拉取请求注解,通过Checks API实现。此脚本旨在用于您的GitHub Action中。
0.0.1
2020-04-05 15:49 UTC
Requires
- php: ^7.0
- ext-simplexml: *
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-06 01:20:29 UTC
README
将CPD风格的XML报告转换为GitHub拉取请求注解(通过Checks API)。此脚本旨在用于您的GitHub Action中。
这意味着您不再需要搜索GitHub Action日志文件或控制台输出。无需解释不同工具格式化不同的消息。相反,您可以专注于您的拉取请求,而且无需离开拉取请求区域。
图片来源:https://github.com/mheap/phpunit-github-actions-printer
安装
通过Composer安装二进制文件
composer require mridang/cpd-annotations
示例用法
cpd2pr
可用于已存在的CPD报告XML报告。或者,您可以使用它以UNIX管道符号表示法将其链接到现有的cli命令中。
在您的GitHub Action工作流程中运行以下命令之一
处理CPD格式文件
vendor/bin/cpd2pr /path/to/cpd-report.xml
可用选项
--graceful-warnings
:如果只有警告则不退出错误代码--colorize
:彩色输出。如果同一lint脚本需要在本地命令行和远程GitHub Actions上使用,则非常有用。使用此选项,错误和警告在命令行上更容易区分,输出仍然与GitHub注解兼容
管道传输另一个命令的输出
这适用于任何生成CPD格式报告的命令。以下是一些示例
使用PHCPD
phcpd . xml codesize,naming,unusedcode,controversial,design --exclude libs,var,build,tests --ignore-violations-on-exit | vendor/bin/cpd2pr
示例GitHubAction工作流程
如果您使用shivammathur/setup-php
来设置PHP,则cpd2pr
二进制文件包含在内
# ... jobs: phcpd-analysis: name: phcpd 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 tools: cpd2pr - run: | composer install # install your apps dependencies vendor/bin/phcpd . xml codesize,naming,unusedcode,controversial,design --exclude libs,var,build,tests --ignore-violations-on-exit | cpd2pr
如果您使用自定义PHP安装,则您的项目需要要求mridang/cpd-annotations
# ... jobs: phcpd-analysis: name: phcpd static code analysis runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup PHP run: # custom PHP installation - run: | composer install # install your apps dependencies composer require mridang/cpd-annotations # install cpd2pr vendor/bin/phcpd . xml codesize,naming,unusedcode,controversial,design --exclude libs,var,build,tests --ignore-violations-on-exit | vendor/bin/cpd2pr