Commit 42f90b5f authored by Yorick Peterse's avatar Yorick Peterse

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
parent 197beefc
...@@ -26,6 +26,11 @@ def ce_upstream? ...@@ -26,6 +26,11 @@ def ce_upstream?
gitlab.mr_labels.any? { |label| label == 'CE upstream' } gitlab.mr_labels.any? { |label| label == 'CE upstream' }
end 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) def lint_commits(commits)
failures = false failures = false
...@@ -102,10 +107,10 @@ def lint_commits(commits) ...@@ -102,10 +107,10 @@ def lint_commits(commits)
failures = true failures = true
end end
if !details && lines_changed_in_commit(commit) >= 20 if !details && too_many_changed_lines?(commit)
fail_commit( fail_commit(
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' 'must describe these changes in the commit body'
) )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment