gitlab-dangerfiles 4.8.1 → 4.12.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/.gitignore +1 -0
- data/.gitlab/merge_request_templates/Release.md +1 -1
- data/.gitlab-ci.yml +3 -2
- data/.rubocop.yml +11 -2
- data/.rubocop_todo.yml +55 -128
- data/.tool-versions +1 -0
- data/Gemfile.lock +4 -1
- data/README.md +53 -2
- data/gitlab-dangerfiles.gemspec +1 -0
- data/lefthook.yml +5 -0
- data/lib/danger/plugins/commit_messages.rb +140 -0
- data/lib/danger/plugins/duo_code.rb +12 -0
- data/lib/danger/plugins/internal/helper.rb +16 -5
- data/lib/danger/plugins/roulette.rb +77 -3
- data/lib/danger/rules/commit_messages/Dangerfile +1 -123
- data/lib/danger/rules/duo_code_review/Dangerfile +10 -0
- data/lib/danger/rules/simple_roulette/Dangerfile +10 -5
- data/lib/gitlab/dangerfiles/approval.rb +3 -3
- data/lib/gitlab/dangerfiles/capability.rb +0 -16
- data/lib/gitlab/dangerfiles/commit_linter.rb +4 -4
- data/lib/gitlab/dangerfiles/config.rb +29 -3
- data/lib/gitlab/dangerfiles/spec_helper.rb +2 -50
- data/lib/gitlab/dangerfiles/spinner.rb +1 -13
- data/lib/gitlab/dangerfiles/teammate.rb +0 -12
- data/lib/gitlab/dangerfiles/version.rb +1 -1
- metadata +21 -3
|
@@ -165,28 +165,6 @@ RSpec.shared_context "with teammates" do
|
|
|
165
165
|
)
|
|
166
166
|
end
|
|
167
167
|
|
|
168
|
-
let(:software_engineer_in_import_integrate_fe) do
|
|
169
|
-
Gitlab::Dangerfiles::Teammate.new(
|
|
170
|
-
"username" => "software-engineer-in-import-and-integrate-fe",
|
|
171
|
-
"name" => "Software Engineer in Import and Integrate FE",
|
|
172
|
-
"role" => "Frontend Engineer, Manage:Import and Integrate",
|
|
173
|
-
"projects" => { "gitlab" => "reviewer frontend" },
|
|
174
|
-
"available" => true,
|
|
175
|
-
"tz_offset_hours" => 2.0
|
|
176
|
-
)
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
let(:software_engineer_in_import_integrate_be) do
|
|
180
|
-
Gitlab::Dangerfiles::Teammate.new(
|
|
181
|
-
"username" => "software-engineer-in-import-and-integrate-be",
|
|
182
|
-
"name" => "Software Engineer in Import and Integrate BE",
|
|
183
|
-
"role" => "Backend Engineer, Manage:Import and Integrate",
|
|
184
|
-
"projects" => { "gitlab" => "reviewer backend" },
|
|
185
|
-
"available" => true,
|
|
186
|
-
"tz_offset_hours" => 2.0
|
|
187
|
-
)
|
|
188
|
-
end
|
|
189
|
-
|
|
190
168
|
let(:tooling_reviewer) do
|
|
191
169
|
Gitlab::Dangerfiles::Teammate.new(
|
|
192
170
|
"username" => "eng-prod-reviewer",
|
|
@@ -220,28 +198,6 @@ RSpec.shared_context "with teammates" do
|
|
|
220
198
|
)
|
|
221
199
|
end
|
|
222
200
|
|
|
223
|
-
let(:import_and_integrate_backend_reviewer) do
|
|
224
|
-
Gitlab::Dangerfiles::Teammate.new(
|
|
225
|
-
"username" => "import-and-integrate-backend-reviewer",
|
|
226
|
-
"name" => "Import and Integrate BE engineer",
|
|
227
|
-
"role" => "Backend Engineer, Manage:Import and Integrate",
|
|
228
|
-
"projects" => { "gitlab" => "reviewer backend" },
|
|
229
|
-
"available" => backend_reviewer_available,
|
|
230
|
-
"tz_offset_hours" => 2.0
|
|
231
|
-
)
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
let(:import_and_integrate_frontend_reviewer) do
|
|
235
|
-
Gitlab::Dangerfiles::Teammate.new(
|
|
236
|
-
"username" => "import-and-integrate-frontend-reviewer",
|
|
237
|
-
"name" => "Import and Integrate FE engineer",
|
|
238
|
-
"role" => "Frontend Engineer, Manage:Import and Integrate",
|
|
239
|
-
"projects" => { "gitlab" => "reviewer frontend" },
|
|
240
|
-
"available" => true,
|
|
241
|
-
"tz_offset_hours" => 2.0
|
|
242
|
-
)
|
|
243
|
-
end
|
|
244
|
-
|
|
245
201
|
let(:workhorse_reviewer) do
|
|
246
202
|
Gitlab::Dangerfiles::Teammate.new(
|
|
247
203
|
"username" => "workhorse-reviewer",
|
|
@@ -276,16 +232,12 @@ RSpec.shared_context "with teammates" do
|
|
|
276
232
|
ci_template_reviewer.to_h,
|
|
277
233
|
workhorse_reviewer.to_h,
|
|
278
234
|
workhorse_maintainer.to_h,
|
|
279
|
-
analytics_instrumentation_reviewer.to_h
|
|
280
|
-
import_and_integrate_backend_reviewer.to_h,
|
|
281
|
-
import_and_integrate_frontend_reviewer.to_h,
|
|
282
|
-
software_engineer_in_import_integrate_fe.to_h,
|
|
283
|
-
software_engineer_in_import_integrate_be.to_h
|
|
235
|
+
analytics_instrumentation_reviewer.to_h
|
|
284
236
|
]
|
|
285
237
|
end
|
|
286
238
|
|
|
287
239
|
let(:teammate_json) { teammates.to_json }
|
|
288
|
-
let(:
|
|
240
|
+
let(:ux_fallback_reviewer) { instance_double(Gitlab::Dangerfiles::Teammate) }
|
|
289
241
|
let(:company_members) { Gitlab::Dangerfiles::Teammate.fetch_company_members }
|
|
290
242
|
|
|
291
243
|
before do
|
|
@@ -17,9 +17,7 @@ module Gitlab
|
|
|
17
17
|
@author = author
|
|
18
18
|
@team_author = team_author
|
|
19
19
|
@labels = labels
|
|
20
|
-
@categories = categories
|
|
21
|
-
import_and_integrate_reject_category?(category)
|
|
22
|
-
end
|
|
20
|
+
@categories = categories
|
|
23
21
|
@random = random
|
|
24
22
|
@ux_fallback_wider_community_reviewer = ux_fallback_wider_community_reviewer
|
|
25
23
|
end
|
|
@@ -62,8 +60,6 @@ module Gitlab
|
|
|
62
60
|
# Fetch an already picked maintainer, or pick one otherwise
|
|
63
61
|
spin.maintainer = backend_spin&.maintainer || frontend_spin&.maintainer || spin_for_category(:backend).maintainer
|
|
64
62
|
end
|
|
65
|
-
when :import_integrate_be, :import_integrate_fe
|
|
66
|
-
spin.optional_role = :maintainer
|
|
67
63
|
when :ux
|
|
68
64
|
spin.optional_role = :maintainer
|
|
69
65
|
|
|
@@ -98,14 +94,6 @@ module Gitlab
|
|
|
98
94
|
|
|
99
95
|
attr_reader :random, :ux_fallback_wider_community_reviewer
|
|
100
96
|
|
|
101
|
-
# @param [String] category name
|
|
102
|
-
# @return [Boolean]
|
|
103
|
-
def import_and_integrate_reject_category?(category)
|
|
104
|
-
# Reject Import and Integrate categories if the MR author has reviewing abilities for the category.
|
|
105
|
-
team_author&.import_integrate_be?(project, category, labels) ||
|
|
106
|
-
team_author&.import_integrate_fe?(project, category, labels)
|
|
107
|
-
end
|
|
108
|
-
|
|
109
97
|
# MR includes QA changes, but also other changes, and author isn't an SET
|
|
110
98
|
def author_no_qa_capability?
|
|
111
99
|
!(team_author && team_author.capabilities(project).any? { |capability| capability.end_with?("qa") })
|
|
@@ -141,18 +141,6 @@ module Gitlab
|
|
|
141
141
|
has_capability?(project, category, :maintainer, labels)
|
|
142
142
|
end
|
|
143
143
|
|
|
144
|
-
def import_integrate_be?(project, category, labels)
|
|
145
|
-
return false unless category == :import_integrate_be
|
|
146
|
-
|
|
147
|
-
has_capability?(project, category, :reviewer, labels)
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
def import_integrate_fe?(project, category, labels)
|
|
151
|
-
return false unless category == :import_integrate_fe
|
|
152
|
-
|
|
153
|
-
has_capability?(project, category, :reviewer, labels)
|
|
154
|
-
end
|
|
155
|
-
|
|
156
144
|
def markdown_name(author: nil)
|
|
157
145
|
"#{@markdown_name}#{utc_offset_text(author)}"
|
|
158
146
|
end
|
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: 4.
|
|
4
|
+
version: 4.12.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- GitLab
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-06-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -136,6 +136,20 @@ dependencies:
|
|
|
136
136
|
- - "~>"
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
138
|
version: '3.8'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: racc
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - "~>"
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: '1.8'
|
|
146
|
+
type: :development
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - "~>"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '1.8'
|
|
139
153
|
- !ruby/object:Gem::Dependency
|
|
140
154
|
name: rubocop-rails
|
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -208,6 +222,7 @@ files:
|
|
|
208
222
|
- ".rspec"
|
|
209
223
|
- ".rubocop.yml"
|
|
210
224
|
- ".rubocop_todo.yml"
|
|
225
|
+
- ".tool-versions"
|
|
211
226
|
- ".yardopts"
|
|
212
227
|
- CODE_OF_CONDUCT.md
|
|
213
228
|
- CONTRIBUTING.md
|
|
@@ -225,12 +240,15 @@ files:
|
|
|
225
240
|
- gitlab-dangerfiles.gemspec
|
|
226
241
|
- lefthook.yml
|
|
227
242
|
- lib/danger/plugins/changelog.rb
|
|
243
|
+
- lib/danger/plugins/commit_messages.rb
|
|
244
|
+
- lib/danger/plugins/duo_code.rb
|
|
228
245
|
- lib/danger/plugins/internal/helper.rb
|
|
229
246
|
- lib/danger/plugins/roulette.rb
|
|
230
247
|
- lib/danger/rules/changelog/Dangerfile
|
|
231
248
|
- lib/danger/rules/changes_size/Dangerfile
|
|
232
249
|
- lib/danger/rules/commit_messages/Dangerfile
|
|
233
250
|
- lib/danger/rules/commits_counter/Dangerfile
|
|
251
|
+
- lib/danger/rules/duo_code_review/Dangerfile
|
|
234
252
|
- lib/danger/rules/metadata/Dangerfile
|
|
235
253
|
- lib/danger/rules/simple_roulette/Dangerfile
|
|
236
254
|
- lib/danger/rules/type_label/Dangerfile
|
|
@@ -282,7 +300,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
282
300
|
- !ruby/object:Gem::Version
|
|
283
301
|
version: '0'
|
|
284
302
|
requirements: []
|
|
285
|
-
rubygems_version: 3.
|
|
303
|
+
rubygems_version: 3.5.22
|
|
286
304
|
signing_key:
|
|
287
305
|
specification_version: 4
|
|
288
306
|
summary: This gem provides common Dangerfile and plugins for GitLab projects.
|