summaryrefslogtreecommitdiff
path: root/danger/documentation/Dangerfile
blob: 422f2cb255163bb6c76414884a3911ddbd67262f (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# frozen_string_literal: true

# All the files/directories that should be reviewed by the Docs team.
DOCS_FILES = [
  'doc/'
].freeze

def docs_paths_requiring_review(files)
  files.select do |file|
    DOCS_FILES.any? { |pattern| file.start_with?(pattern) }
  end
end

docs_paths_to_review = docs_paths_requiring_review(helper.all_changed_files)

unless docs_paths_to_review.empty?
  message 'This merge request adds or changes files that require a ' \
    'review from the docs team.'

  markdown(<<~MARKDOWN)
## Docs Review

The following files require a review from the Documentation team:

* #{docs_paths_to_review.map { |path| "`#{path}`" }.join("\n* ")}

When your content is ready for review, mention a technical writer in a separate
comment and explain what needs to be reviewed.

You are welcome to mention them sooner if you have questions about writing or updating 
the documentation. GitLabbers are also welcome to use the [#docs](https://gitlab.slack.com/archives/C16HYA2P5) channel on Slack.

Who to ping [based on DevOps stages](https://about.gitlab.com/handbook/product/categories/#devops-stages):

| ~Create | @`marcia` |
| ~Configure | `@eread |
| ~Distribution | `@axil` |
| ~Geo | `@eread |
| ~Gitaly | `@axil` |
| ~Gitter | `@axil` |
| ~Manage | `@eread |
| ~Monitoring | `@axil` |
| ~Packaging | `@axil` |
| ~Plan | `@mikelewis |
| ~Release | `marcia` |
| ~Secure | `@axil` |
| ~Verify | `@eread |

If you are not sure which category the change falls within, or the change is not
part of one of these categories, you can mention the whole team with `@gl-docsteam`.
  MARKDOWN

  unless gitlab.mr_labels.include?('Documentation')
    warn 'This merge request is missing the ~Documentation label.'
  end
end