summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dangerfile1
-rw-r--r--danger/gitlab_ui_wg/Dangerfile55
-rw-r--r--danger/roulette/Dangerfile4
3 files changed, 59 insertions, 1 deletions
diff --git a/Dangerfile b/Dangerfile
index 32f4b4d23c3..95dd48aae9e 100644
--- a/Dangerfile
+++ b/Dangerfile
@@ -13,3 +13,4 @@ danger.import_dangerfile(path: 'danger/prettier')
danger.import_dangerfile(path: 'danger/eslint')
danger.import_dangerfile(path: 'danger/roulette')
danger.import_dangerfile(path: 'danger/single_codebase')
+danger.import_dangerfile(path: 'danger/gitlab_ui_wg')
diff --git a/danger/gitlab_ui_wg/Dangerfile b/danger/gitlab_ui_wg/Dangerfile
new file mode 100644
index 00000000000..02d94fa5ab7
--- /dev/null
+++ b/danger/gitlab_ui_wg/Dangerfile
@@ -0,0 +1,55 @@
+def mention_single_codebase_approvers
+ frontend_maintainers = %w(@filipa @iamphill @psimyn @sarahghp @mishunov)
+ ux_maintainers = %w(@tauriedavis @rverissimo)
+
+ rows = []
+ users = []
+
+ if gitlab.mr_labels.include?('frontend')
+ frontend_maintainer = frontend_maintainers.sample
+
+ rows << "| ~frontend | `#{frontend_maintainer}`"
+ users << frontend_maintainer
+ end
+
+ if gitlab.mr_labels.include?('UX')
+ ux_maintainers = ux_maintainers.sample
+
+ rows << "| ~UX | `#{ux_maintainers}`"
+ users << ux_maintainers
+ end
+
+ if rows.empty?
+ backup_maintainer = frontend_maintainers.sample
+
+ rows << "| ~frontend / ~UX | `#{backup_maintainer}`"
+ users << backup_maintainer
+ end
+
+ markdown(<<~MARKDOWN.strip)
+ ## GitLab UI Working Group changes
+
+ This merge request contains changes related to the work of [cleaning up CSS and creating
+ reusable components](https://gitlab.com/groups/gitlab-org/-/epics/950).
+ These changes will need to be reviewed and approved by the following engineers:
+
+ | Category | Reviewer
+ |----------|---------
+ #{rows.join("\n")}
+
+ To make sure this happens, please follow these steps:
+
+ 1. Add all of the mentioned users to the list of merge request approvals.
+ 2. Assign the merge request to the first person in the above list.
+
+ If you are a reviewer, please follow these steps:
+
+ 1. Review the merge request. If it is good to go, approve it.
+ 2. Once approved, assign to the next person in the above list. If you are
+ the last person in the list, merge the merge request.
+ MARKDOWN
+end
+
+if gitlab.mr_labels.include?('CSS cleanup')
+ mention_single_codebase_approvers
+end
diff --git a/danger/roulette/Dangerfile b/danger/roulette/Dangerfile
index 808bc96a0a0..3a4625c4eb6 100644
--- a/danger/roulette/Dangerfile
+++ b/danger/roulette/Dangerfile
@@ -60,7 +60,9 @@ categories = changes.keys - [:unknown]
# Single codebase MRs are reviewed using a slightly different process, so we
# disable the review roulette for such MRs.
-if changes.any? && !gitlab.mr_labels.include?('single codebase')
+# CSS Clean up MRs are reviewed using a slightly different process, so we
+# disable the review roulette for such MRs.
+if changes.any? && !gitlab.mr_labels.include?('single codebase') && !gitlab.mr_labels.include?('CSS cleanup')
team =
begin
helper.project_team