/danger-php

Danger runs during your CI process, and gives teams the chance to automate common code review chores.

Primary LanguagePHPMIT LicenseMIT

Danger PHP

Danger runs during your CI process, and gives teams the chance to automate common code review chores. This project ports Danger to PHP. This project is still in the early phase. Feel free to try it out and contribute!

Currently only Github and Gitlab are supported as Platform

Badges

MIT License codecov

Installation

Composer

Install danger-php using Composer

composer global require shyim/danger-php

Phar Archive

Every release has an phar archive attached

Docker

Use the prebuilt Docker image

Documentation

Disallow multiple commits with same message

<?php declare(strict_types=1);

use Danger\Config;
use Danger\Rule\DisallowRepeatedCommitsRule;

return (new Config())
    ->useRule(new DisallowRepeatedCommitsRule) // Disallows multiple commits with the same message
;

Only allow one commit in Pull Request

<?php declare(strict_types=1);

use Danger\Config;
use Danger\Rule\MaxCommitRule;

return (new Config())
    ->useRule(new MaxCommitRule(1))
;

Check for modification on CHANGELOG.md

<?php declare(strict_types=1);

use Danger\Config;
use Danger\Context;

return (new Config())
    ->useRule(function (Context $context): void {
        if (!$context->platform->pullRequest->getFiles()->has('CHANGELOG.md')) {
            $context->failure('Please edit also the CHANGELOG.md');
        }
    })
;

Check for Assignee in PR

<?php declare(strict_types=1);

use Danger\Config;
use Danger\Context;

return (new Config())
    ->useRule(function (Context $context): void {
        if (count($context->platform->pullRequest->assignees) === 0) {
            $context->warning('This PR currently doesn\'t have an assignee');
        }
    })
;

Screenshots

Example Comment

License

MIT