diff options
Diffstat (limited to 'danger/specs/Dangerfile')
-rw-r--r-- | danger/specs/Dangerfile | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/danger/specs/Dangerfile b/danger/specs/Dangerfile index 72e0c8e92f4..26b52f64f2e 100644 --- a/danger/specs/Dangerfile +++ b/danger/specs/Dangerfile @@ -7,12 +7,12 @@ NO_SPECS_LABELS = [ 'documentation', 'QA' ].freeze -NO_NEW_SPEC_MESSAGE = <<~MSG +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 any of the %<labels>s labels. MSG -EE_CHANGE_WITH_FOSS_SPEC_CHANGE_MESSAGE = <<~MSG +EE_CHANGE_WITH_FOSS_SPEC_CHANGE_MESSAGE = <<~MSG.freeze You've made some EE-specific changes, but only made changes to FOSS tests. This could be a sign that you're testing an EE-specific behavior in a FOSS test. @@ -24,6 +24,14 @@ Please make sure the spec files pass in AS-IF-FOSS mode either: MSG +CONTROLLER_SPEC_DEPRECATION_MESSAGE = <<~MSG.freeze +Do not add new controller specs. We are moving from controller specs to +request specs (and/or feature specs). Please add request specs under +`/spec/requests` and/or `/ee/spec/requests` instead. + +See https://gitlab.com/groups/gitlab-org/-/epics/5076 for information. +MSG + has_app_changes = helper.all_changed_files.grep(%r{\A(app|lib|db/(geo/)?(post_)?migrate)/}).any? has_ee_app_changes = helper.all_changed_files.grep(%r{\Aee/(app|lib|db/(geo/)?(post_)?migrate)/}).any? spec_changes = helper.all_changed_files.grep(%r{\Aspec/}) @@ -39,3 +47,8 @@ end if has_ee_app_changes && has_spec_changes && !(has_app_changes || has_ee_spec_changes) warn format(EE_CHANGE_WITH_FOSS_SPEC_CHANGE_MESSAGE, spec_files: spec_changes.join(" "), mr_title: gitlab.mr_json['title']), sticky: false end + +# Forbidding a new file addition under `/spec/controllers` or `/ee/spec/controllers` +if git.added_files.grep(%r{^(ee/)?spec/controllers/}).any? + warn CONTROLLER_SPEC_DEPRECATION_MESSAGE +end |