From 42f90b5f50fc55fe17aec4118190599d46b43da8 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Fri, 14 Sep 2018 13:31:24 +0200 Subject: 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 --- danger/commit_messages/Dangerfile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'danger/commit_messages') diff --git a/danger/commit_messages/Dangerfile b/danger/commit_messages/Dangerfile index 0341429d3cc..150e4327f8c 100644 --- a/danger/commit_messages/Dangerfile +++ b/danger/commit_messages/Dangerfile @@ -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' ) -- cgit v1.2.3