gitlab-dangerfiles 3.6.7 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +4 -0
- data/lib/danger/plugins/changelog.rb +1 -1
- data/lib/gitlab/dangerfiles/category.rb +36 -1
- data/lib/gitlab/dangerfiles/teammate.rb +3 -2
- data/lib/gitlab/dangerfiles/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c8b3755415a3a732fc13c70da4176927062a9d5b6452a7d2513d3ef29617c89
|
4
|
+
data.tar.gz: 1822e18dcc9e51d93f0ea1f3df574aaf5c1dd5ec1b0fd552bfea34f8b114971d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d86af6131e0703fcab736fb75f09b62d1e656bec379f76f8bee6223899e99b34a085c86dc94d7c6d99ce88642acbea4d9079050ab50331abbc10d6c47c0fcc76
|
7
|
+
data.tar.gz: dc878dcd339bed44e0cb4059ec965cce1f6e0513099002126779640c3f8986417bbfabdbbec1ffd4137729839d682d8f7bc6f69cf1654ee03b9a75007f561f93
|
data/.rubocop.yml
CHANGED
@@ -38,6 +38,10 @@ Style/StringLiterals:
|
|
38
38
|
Style/TrailingCommaInHashLiteral:
|
39
39
|
EnforcedStyleForMultiline: consistent_comma
|
40
40
|
|
41
|
+
# To respect rufo formatting
|
42
|
+
Style/TrailingCommaInArguments:
|
43
|
+
Enabled: false
|
44
|
+
|
41
45
|
# To respect rufo formatting
|
42
46
|
Layout/MultilineOperationIndentation:
|
43
47
|
Enabled: false
|
@@ -134,7 +134,7 @@ module Danger
|
|
134
134
|
def critical_checks
|
135
135
|
check_result = ChangelogCheckResult.empty
|
136
136
|
|
137
|
-
check_result.
|
137
|
+
check_result.warning(modified_text) if git.modified_files.include?("CHANGELOG.md")
|
138
138
|
|
139
139
|
# Help the user to apply the correct labels to skip this danger check in case it's a revert MR
|
140
140
|
check_result.warning(IF_REVERT_MR_TEXT) if helper.revert_mr?
|
@@ -92,11 +92,46 @@ module Gitlab
|
|
92
92
|
class UX < Category
|
93
93
|
private
|
94
94
|
|
95
|
+
def has_particular_capability?(teammate)
|
96
|
+
if labels.any?("Community contribution")
|
97
|
+
can_review_wider_community_contribution?(teammate)
|
98
|
+
else
|
99
|
+
super
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
95
103
|
def has_universal_capability?(teammate)
|
96
|
-
|
104
|
+
# No universal reviewer for community contribution.
|
105
|
+
# If we do, then picking from corresponding group won't be accurate.
|
106
|
+
# After solving the following issue, then we can revisit this:
|
107
|
+
# https://gitlab.com/gitlab-org/ruby/gems/gitlab-dangerfiles/-/issues/58
|
108
|
+
return false if labels.any?("Community contribution")
|
109
|
+
|
110
|
+
teammate.projects.each_value.any? do |capabilities|
|
97
111
|
capabilities.include?(capability)
|
98
112
|
end
|
99
113
|
end
|
114
|
+
|
115
|
+
def can_review_wider_community_contribution?(teammate)
|
116
|
+
# Pick corresponding group for community contribution
|
117
|
+
# Role can be:
|
118
|
+
# Product Designer, Create:Source Code
|
119
|
+
# Product Designer, Verify:Pipeline Insights, Verify:Runner
|
120
|
+
# Product Designer, Release
|
121
|
+
# Specialty can be:
|
122
|
+
# Source Code
|
123
|
+
# [Growth: Activation, Growth: Expansion]
|
124
|
+
# Runner
|
125
|
+
areas = teammate.role[/Product Designer(?:.*?, (.+))/, 1]&.split(",")
|
126
|
+
|
127
|
+
group_labels = [*teammate.specialty, *areas].map do |field|
|
128
|
+
group = field.strip.sub(/^.+: ?/, "").downcase
|
129
|
+
|
130
|
+
"group::#{group}"
|
131
|
+
end
|
132
|
+
|
133
|
+
(group_labels & labels).any?
|
134
|
+
end
|
100
135
|
end
|
101
136
|
end
|
102
137
|
end
|
@@ -5,10 +5,10 @@ require_relative "category"
|
|
5
5
|
module Gitlab
|
6
6
|
module Dangerfiles
|
7
7
|
class Teammate
|
8
|
-
attr_reader :options, :username, :name, :role, :projects, :available, :hungry, :reduced_capacity, :tz_offset_hours,
|
8
|
+
attr_reader :options, :username, :name, :role, :specialty, :projects, :available, :hungry, :reduced_capacity, :tz_offset_hours,
|
9
9
|
:only_maintainer_reviews
|
10
10
|
|
11
|
-
# The options data are produced by https://gitlab.com/gitlab-org/gitlab-roulette/-/blob/
|
11
|
+
# The options data are produced by https://gitlab.com/gitlab-org/gitlab-roulette/-/blob/main/lib/team_member.rb
|
12
12
|
def initialize(options = {})
|
13
13
|
@options = options
|
14
14
|
@username = options["username"]
|
@@ -16,6 +16,7 @@ module Gitlab
|
|
16
16
|
@markdown_name = options["markdown_name"] ||
|
17
17
|
default_markdown_name(*options.values_at("username", "name"))
|
18
18
|
@role = options["role"]
|
19
|
+
@specialty = options["specialty"]
|
19
20
|
@projects = process_projects(options["projects"])
|
20
21
|
@available = options["available"]
|
21
22
|
@hungry = options["hungry"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab-dangerfiles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitLab
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-02-
|
11
|
+
date: 2023-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|