Improve danger/specs/Dangerfile by not requiring new specs if specific labels are applied
Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
parent
3e573142b7
commit
8ce6381f3c
1 changed files with 12 additions and 6 deletions
|
@ -1,12 +1,18 @@
|
|||
NO_SPECS_LABELS = %w[backstage Documentation QA].freeze
|
||||
NO_NEW_SPEC_MESSAGE = <<~MSG.freeze
|
||||
You've made some app changes, but didn't add any tests.
|
||||
That's OK as long as you're refactoring existing code,
|
||||
but please consider adding the ~backstage label in that case.
|
||||
but please consider adding any of the %<labels>s labels.
|
||||
MSG
|
||||
|
||||
has_app_changes = !git.modified_files.grep(%r{\A(ee/)?(app|lib|db/(geo/)?(post_)?migrate)/}).empty?
|
||||
has_spec_changes = !git.modified_files.grep(/spec/).empty?
|
||||
|
||||
if has_app_changes && !has_spec_changes
|
||||
warn NO_NEW_SPEC_MESSAGE, sticky: false
|
||||
def presented_no_changelog_labels
|
||||
NO_SPECS_LABELS.map { |label| "~#{label}" }.join(', ')
|
||||
end
|
||||
|
||||
has_app_changes = !git.modified_files.grep(%r{\A(ee/)?(app|lib|db/(geo/)?(post_)?migrate)/}).empty?
|
||||
has_spec_changes = !git.modified_files.grep(%r{\A(ee/)?spec/}).empty?
|
||||
new_specs_needed = (gitlab.mr_labels & NO_SPECS_LABELS).empty?
|
||||
|
||||
if has_app_changes && !has_spec_changes && new_specs_needed
|
||||
warn format(NO_NEW_SPEC_MESSAGE, labels: presented_no_changelog_labels), sticky: false
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue