action phpcov
1.0.0
此操作将生成 PHPUnit 覆盖率 HTML 报告,使用 ZEIT Now 发布它,并强制执行最低覆盖率级别。
now_token
(必需)您的 ZEIT Now 令牌 - 用于部署报告。
now_project
(可选)要将报告部署到哪个 ZEIT Now 项目。
min_coverage
(可选)要强制执行的最小覆盖范围(默认值为50
)。
phpunit
(可选) phpunit 命令(默认为./vendor/bin/phpunit
)。
url
来自 ZEIT Now 的部署 URL 以及覆盖率报告。
以下是如何在 PHP 项目(例如 Laravel)上使用此操作。假设您的存储库具有带有 ZEIT Now 令牌的NOW_TOKEN
秘密,您所要做的就是设置 PHP(使用覆盖驱动程序),并安装 Composer 依赖项。
on : [push]
jobs :
main :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- uses : shivammathur/setup-php@master
with :
coverage : pcov
php-version : ' 7.4 '
extension : dom, fileinfo, mbstring
- run : |
composer install --no-suggest --prefer-dist --optimize-autoloader
php -r "file_exists('.env') || copy('.env.example', '.env');"
php artisan key:generate
- uses : theomessin/action-phpcov
with :
min_coverage : 35
now_project : " action-phpcov "
now_token : ${{ secrets.NOW_TOKEN }}
phpunit : " ./vendor/bin/phpunit --testdox "
这将输出如下消息:
PHPUnit 8.5.2 by Sebastian Bergmann and contributors.
Example (TestsUnitExample)
Basic test
Example (TestsFeatureExample)
Basic test
Time: 160 ms, Memory: 18.00 MB
OK (2 tests, 2 assertions)
Generating code coverage report in Clover XML format ... done [10 ms]
Generating code coverage report in HTML format ... done [20 ms]
[Actual coverage is 44.23%. Minimum coverage is 35%]
▰▰▰▰▰▰▰▰▰▰▰▰▰▱▱▱▱▱▱▱▱▱▱▱▱▱▱▱▱▱
You may find a full coverage report here:
https://action-phpcov.now.sh
如果未满足最小覆盖范围,则操作失败。