Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/danger
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-07-19 17:16:28 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-07-19 17:16:28 +0300
commite4384360a16dd9a19d4d2d25d0ef1f2b862ed2a6 (patch)
tree2fcdfa7dcdb9db8f5208b2562f4b4e803d671243 /danger
parentffda4e7bcac36987f936b4ba515995a6698698f0 (diff)
Add latest changes from gitlab-org/gitlab@16-2-stable-eev16.2.0-rc42
Diffstat (limited to 'danger')
-rw-r--r--danger/experiments/Dangerfile7
-rw-r--r--danger/plugins/experiments.rb10
-rw-r--r--danger/roulette/Dangerfile19
3 files changed, 23 insertions, 13 deletions
diff --git a/danger/experiments/Dangerfile b/danger/experiments/Dangerfile
new file mode 100644
index 00000000000..3a206bc876e
--- /dev/null
+++ b/danger/experiments/Dangerfile
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+unless experiments.class_files_removed?
+ msg = "This merge request removes experiment: `#{experiments.removed_experiments.join(',')}`" \
+ ", please also remove the class file."
+ fail msg # rubocop:disable Style/SignalException
+end
diff --git a/danger/plugins/experiments.rb b/danger/plugins/experiments.rb
new file mode 100644
index 00000000000..b7fd6573c30
--- /dev/null
+++ b/danger/plugins/experiments.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+require_relative '../../tooling/danger/experiments'
+
+module Danger
+ class Experiments < ::Danger::Plugin
+ # Put the helper code somewhere it can be tested
+ include Tooling::Danger::Experiments
+ end
+end
diff --git a/danger/roulette/Dangerfile b/danger/roulette/Dangerfile
index a987a98acee..39b79745ead 100644
--- a/danger/roulette/Dangerfile
+++ b/danger/roulette/Dangerfile
@@ -58,7 +58,7 @@ NOT_AVAILABLE_TEMPLATES = {
analytics_instrumentation: group_not_available_template('#g_analyze_analytics_instrumentation', '@gitlab-org/analytics-section/analytics-instrumentation/engineers'),
import_integrate_be: group_not_available_template('#g_manage_import_and_integrate', '@gitlab-org/manage/import-and-integrate'),
import_integrate_fe: group_not_available_template('#g_manage_import_and_integrate', '@gitlab-org/manage/import-and-integrate'),
- remote_development: group_not_available_template('#f_remote_development', '@gitlab-org/remote-development')
+ remote_development_be: group_not_available_template('#f_remote_development', '@gitlab-org/maintainers/remote-development/backend')
}.freeze
def note_for_spin_role(spin, role, category)
@@ -91,19 +91,8 @@ changes.delete(:docs)
changes.delete(:changelog)
# No special review for feature flags needed.
changes.delete(:feature_flag)
-categories = Set.new(changes.keys - [:unknown])
-# Ensure to spin for database reviewer/maintainer when ~database is applied (e.g. to review SQL queries)
-categories << :database if helper.mr_labels.include?('database')
-
-# Ensure to spin for UX reviewer when ~UX is applied (e.g. to review changes to the UI) except when it's from wider community contribution where we want to assign from the corresponding group
-categories << :ux if helper.mr_labels.include?('UX') && !helper.mr_labels.include?('Community contribution') # rubocop:disable Rails/NegateInclude
-
-# Ensure to spin for Analytics Instrumentation reviewer when ~"analytics instrumentation::review pending" is applied
-categories << :analytics_instrumentation if helper.mr_labels.include?("analytics instrumentation::review pending")
-
-# Skip Analytics Instrumentation reviews for growth experiment MRs
-categories.delete(:analytics_instrumentation) if helper.mr_labels.include?("growth experiment")
+categories = roulette.prepare_categories(changes.keys - [:unknown])
# Skip specialty reviews for stable branch MRs since they have already been merged to the default branch
categories.subtract([:database, :ux, :analytics_instrumentation]) if stable_branch.valid_stable_branch?
@@ -111,6 +100,10 @@ categories.subtract([:database, :ux, :analytics_instrumentation]) if stable_bran
if changes.any?
random_roulette_spins = roulette.spin(nil, categories, timezone_experiment: false)
+ if categories.include?(:ux) # rubocop:disable Style/IfUnlessModifier
+ roulette.assign_pedroms_for_ux_wider_community_contribution(random_roulette_spins)
+ end
+
rows = random_roulette_spins.map do |spin|
markdown_row_for_spin(spin.category, spin)
end