Это действие создаст HTML-отчет о покрытии PHPUnit, опубликует его с помощью ZEIT Now и обеспечит соблюдение минимального уровня покрытия.
now_token
(обязательно) Ваш токен ZEIT Now — используется для развертывания отчетов.
now_project
(необязательно) В каком проекте ZEIT Now развертывать отчеты.
min_coverage
(необязательно) Минимальное покрытие, которое необходимо обеспечить (по умолчанию — 50
).
phpunit
(необязательно) Команда phpunit (по умолчанию — ./vendor/bin/phpunit
).
url
URL-адрес развертывания от ZEIT. Теперь с отчетом о покрытии.
Вот как использовать это действие в проекте PHP, таком как Laravel. Предполагая, что в вашем репозитории есть секрет NOW_TOKEN
с вашим токеном ZEIT Now, все, что вам нужно сделать, это настроить PHP (с драйвером покрытия), а также установить зависимости композитора.
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
Если минимальное покрытие не соблюдено, действие не будет выполнено.