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
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-11-10 00:12:54 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-11-10 00:12:54 +0300
commitda7b4c2be2e87563f06f2e92672dbfa4f30ca3da (patch)
treea1c1d3667ca65e41f7fded07104c96dfbc4a35ba /lib/gitlab
parent519f46346b22c1b7c1f4c2a4ce902e829354cb62 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab')
-rw-r--r--lib/gitlab/quick_actions/merge_request_actions.rb19
-rw-r--r--lib/gitlab/sidekiq_middleware/skip_jobs.rb13
2 files changed, 29 insertions, 3 deletions
diff --git a/lib/gitlab/quick_actions/merge_request_actions.rb b/lib/gitlab/quick_actions/merge_request_actions.rb
index c8dacc5ddd8..72bec159226 100644
--- a/lib/gitlab/quick_actions/merge_request_actions.rb
+++ b/lib/gitlab/quick_actions/merge_request_actions.rb
@@ -172,6 +172,25 @@ module Gitlab
end
end
+ desc { _('Request changes') }
+ explanation { _('Request changes to the current merge request.') }
+ types MergeRequest
+ condition do
+ Feature.enabled?(:mr_request_changes, current_user) &&
+ quick_action_target.persisted? &&
+ quick_action_target.find_reviewer(current_user)
+ end
+ command :request_changes do
+ result = ::MergeRequests::UpdateReviewerStateService.new(project: quick_action_target.project, current_user: current_user)
+ .execute(quick_action_target, "requested_changes")
+
+ @execution_message[:request_changes] = if result[:status] == :success
+ _('Changes requested to the current merge request.')
+ else
+ result[:message]
+ end
+ end
+
desc { _('Approve a merge request') }
explanation { _('Approve the current merge request.') }
types MergeRequest
diff --git a/lib/gitlab/sidekiq_middleware/skip_jobs.rb b/lib/gitlab/sidekiq_middleware/skip_jobs.rb
index 34ad843e8ee..56b150116a3 100644
--- a/lib/gitlab/sidekiq_middleware/skip_jobs.rb
+++ b/lib/gitlab/sidekiq_middleware/skip_jobs.rb
@@ -80,13 +80,20 @@ module Gitlab
end
health_check_attrs = worker_class.database_health_check_attrs
- job_base_model = Gitlab::Database.schemas_to_base_models[health_check_attrs[:gitlab_schema]].first
+
+ tables, schema = health_check_attrs.values_at(:tables, :gitlab_schema)
+
+ if health_check_attrs[:block].respond_to?(:call)
+ schema, tables = health_check_attrs[:block].call(job['args'], schema, tables)
+ end
+
+ job_base_model = Gitlab::Database.schemas_to_base_models[schema].first
health_context = Gitlab::Database::HealthStatus::Context.new(
DatabaseHealthStatusChecker.new(job['jid'], worker_class.name),
job_base_model.connection,
- health_check_attrs[:tables],
- health_check_attrs[:gitlab_schema]
+ tables,
+ schema
)
Gitlab::Database::HealthStatus.evaluate(health_context).any?(&:stop?)