Relax Danger requirements about changed lines

This relaxes the commit rules regarding the number of changed lines.
Previously we required a detailed description if 20 or more lines were
changed. Starting with this commit we change the rules so Danger only
notifies you about writing a detailed description if:

1. A commit changes more than 3 files
2. The same commit changes more than 30 lines

This should make it easier to do a find replace to fix a typo, without
having to repeat what the subject line already says, while still
reminding developers to write a detailed description for new features
and other larger changes.

Fixes https://gitlab.com/gitlab-org/release/framework/issues/13
This commit is contained in:
Yorick Peterse 2018-09-14 13:31:24 +02:00
parent 197beefc41
commit 42f90b5f50
No known key found for this signature in database
GPG key ID: EDD30D2BEB691AC9

View file

@ -26,6 +26,11 @@ def ce_upstream?
gitlab.mr_labels.any? { |label| label == 'CE upstream' }
end
def too_many_changed_lines?(commit)
commit.diff_parent.stats[:total][:files] > 3 &&
lines_changed_in_commit(commit) >= 30
end
def lint_commits(commits)
failures = false
@ -102,10 +107,10 @@ def lint_commits(commits)
failures = true
end
if !details && lines_changed_in_commit(commit) >= 20
if !details && too_many_changed_lines?(commit)
fail_commit(
commit,
'Commits that change more than 20 lines ' \
'Commits that change 30 or more lines in more than three files ' \
'must describe these changes in the commit body'
)