diff options
Diffstat (limited to 'danger')
-rw-r--r-- | danger/rules/changes_size/Dangerfile | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/danger/rules/changes_size/Dangerfile b/danger/rules/changes_size/Dangerfile new file mode 100644 index 000000000..841b373f7 --- /dev/null +++ b/danger/rules/changes_size/Dangerfile @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +thresholds = helper.config.code_size_thresholds + +lines_changed = (git.added_files + git.modified_files).sum do |file| + next 0 if file.end_with?('.pb.go') || file.end_with?('_pb.rb') + + git.info_for_file(file)[:insertions] +end + +if lines_changed > thresholds[:high] + warn "This merge request is definitely too big (#{lines_changed} lines changed), please split it into multiple merge requests." +elsif lines_changed > thresholds[:medium] + warn "This merge request is quite big (#{lines_changed} lines changed), please consider splitting it into multiple merge requests." +end |