From e4384360a16dd9a19d4d2d25d0ef1f2b862ed2a6 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 19 Jul 2023 14:16:28 +0000 Subject: Add latest changes from gitlab-org/gitlab@16-2-stable-ee --- danger/experiments/Dangerfile | 7 +++++++ danger/plugins/experiments.rb | 10 ++++++++++ danger/roulette/Dangerfile | 19 ++++++------------- 3 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 danger/experiments/Dangerfile create mode 100644 danger/plugins/experiments.rb (limited to 'danger') 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 -- cgit v1.2.3