summaryrefslogtreecommitdiff
path: root/danger/telemetry/Dangerfile
blob: f308fb206bbabb25dd3d24139997877a4d10db6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# frozen_string_literal: true

TELEMETRY_CHANGED_FILES_MESSAGE = <<~MSG
This merge request includes changes for which a review from the Data team and Telemetry team is recommended.
Please reach out to @gitlab-org/growth/telemetry/engineers group for a review.
MSG

USAGE_DATA_FILES_MESSAGE = <<~MSG
For the following files, a review from the [Data team and Telemetry team](https://gitlab.com/groups/gitlab-org/growth/telemetry/engineers/-/group_members?with_inherited_permissions=exclude) is recommended:
MSG

usage_data_changed_files = git.modified_files.grep(%r{usage_data})

def has_label?(label)
  gitlab.mr_labels.include?(label)
end

def labels_for_merge_request(labels)
  labels_list = labels.map { |label| %Q{~"#{label}"} }.join(' ')
  "/label #{labels_list}"
end

if usage_data_changed_files.any?
  warn format(TELEMETRY_CHANGED_FILES_MESSAGE)

  markdown(USAGE_DATA_FILES_MESSAGE + helper.markdown_list(usage_data_changed_files))

  telemetry_labels = ['telemetry']
  telemetry_labels << 'telemetry::review pending' unless has_label?('telemetry::reviewed')

  markdown(labels_for_merge_request(telemetry_labels))
end