diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-19 15:06:00 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-19 15:06:00 +0300 |
commit | b570d73ecd31e2ca9cf8c2f1adb056edf2869477 (patch) | |
tree | 0b8aa67eab6da552d8499f1fdcf9a7495dcf1379 /app | |
parent | 34b3567c97ecc0f317adae04e10e4d7d8c8830db (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/helpers/projects_helper.rb | 1 | ||||
-rw-r--r-- | app/models/ci/pipeline.rb | 6 | ||||
-rw-r--r-- | app/models/concerns/issuable.rb | 1 | ||||
-rw-r--r-- | app/models/concerns/issuable_states.rb | 23 | ||||
-rw-r--r-- | app/models/issue.rb | 5 | ||||
-rw-r--r-- | app/models/merge_request.rb | 3 | ||||
-rw-r--r-- | app/presenters/release_presenter.rb | 3 | ||||
-rw-r--r-- | app/serializers/analytics_merge_request_entity.rb | 4 | ||||
-rw-r--r-- | app/services/ci/create_pipeline_service.rb | 4 | ||||
-rw-r--r-- | app/services/ci/process_pipeline_service.rb | 12 | ||||
-rw-r--r-- | app/services/ci/retry_pipeline_service.rb | 4 | ||||
-rw-r--r-- | app/services/issuable_base_service.rb | 2 | ||||
-rw-r--r-- | app/workers/pipeline_process_worker.rb | 4 |
13 files changed, 32 insertions, 40 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 47214ac4ee2..64d61bba71a 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -188,6 +188,7 @@ module ProjectsHelper "cross-project:#{can?(current_user, :read_cross_project)}", max_project_member_access_cache_key(project), pipeline_status, + Gitlab::I18n.locale, 'v2.6' ] diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb index f730b949ee9..4f71d52d469 100644 --- a/app/models/ci/pipeline.rb +++ b/app/models/ci/pipeline.rb @@ -599,12 +599,6 @@ module Ci project.notes.for_commit_id(sha) end - # rubocop: disable CodeReuse/ServiceClass - def process!(trigger_build_ids = nil) - Ci::ProcessPipelineService.new(project, user).execute(self, trigger_build_ids) - end - # rubocop: enable CodeReuse/ServiceClass - def update_status retry_optimistic_lock(self) do new_status = latest_builds_status.to_s diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb index 01cd1e0224b..6ea12e1cd59 100644 --- a/app/models/concerns/issuable.rb +++ b/app/models/concerns/issuable.rb @@ -23,7 +23,6 @@ module Issuable include Sortable include CreatedAtFilterable include UpdatedAtFilterable - include IssuableStates include ClosedAtFilterable include VersionedDescription diff --git a/app/models/concerns/issuable_states.rb b/app/models/concerns/issuable_states.rb deleted file mode 100644 index f0b9f0d1f3a..00000000000 --- a/app/models/concerns/issuable_states.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -module IssuableStates - extend ActiveSupport::Concern - - # The state:string column is being migrated to state_id:integer column - # This is a temporary hook to keep state column in sync until it is removed. - # Check https: https://gitlab.com/gitlab-org/gitlab/issues/33814 for more information - # The state column can be safely removed after 2019-10-27 - included do - before_save :sync_issuable_deprecated_state - end - - def sync_issuable_deprecated_state - return if self.is_a?(Epic) - return unless respond_to?(:state) - return if state_id.nil? - - deprecated_state = self.class.available_states.key(state_id) - - self.write_attribute(:state, deprecated_state) - end -end diff --git a/app/models/issue.rb b/app/models/issue.rb index 948cadc34e5..6461edbe5d5 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -66,7 +66,10 @@ class Issue < ApplicationRecord scope :public_only, -> { where(confidential: false) } scope :confidential_only, -> { where(confidential: true) } - scope :counts_by_state, -> { reorder(nil).group(:state).count } + scope :counts_by_state, -> { reorder(nil).group(:state_id).count } + + # Only remove after 2019-12-22 and with %12.7 + self.ignored_columns += %i[state] after_commit :expire_etag_cache after_save :ensure_metrics, unless: :imported? diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index a8c15ef2028..399fc030d24 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -228,6 +228,9 @@ class MergeRequest < ApplicationRecord with_state(:opened).where(auto_merge_enabled: true) end + # Only remove after 2019-12-22 and with %12.7 + self.ignored_columns += %i[state] + after_save :keep_around_commit alias_attribute :project, :target_project diff --git a/app/presenters/release_presenter.rb b/app/presenters/release_presenter.rb index 4eed278661c..65034158a06 100644 --- a/app/presenters/release_presenter.rb +++ b/app/presenters/release_presenter.rb @@ -58,6 +58,7 @@ class ReleasePresenter < Gitlab::View::Presenter::Delegated end def release_edit_page_available? - ::Feature.enabled?(:release_edit_page, project, default_enabled: true) + ::Feature.enabled?(:release_edit_page, project, default_enabled: true) && + can?(current_user, :update_release, release) end end diff --git a/app/serializers/analytics_merge_request_entity.rb b/app/serializers/analytics_merge_request_entity.rb index 21d7eeb81b0..4344de2b9b4 100644 --- a/app/serializers/analytics_merge_request_entity.rb +++ b/app/serializers/analytics_merge_request_entity.rb @@ -1,7 +1,9 @@ # frozen_string_literal: true class AnalyticsMergeRequestEntity < AnalyticsIssueEntity - expose :state + expose :state do |object| + MergeRequest.available_states.key(object[:state_id]) + end expose :url do |object| url_to(:namespace_project_merge_request, object) diff --git a/app/services/ci/create_pipeline_service.rb b/app/services/ci/create_pipeline_service.rb index 5778a48bce6..8887534bece 100644 --- a/app/services/ci/create_pipeline_service.rb +++ b/app/services/ci/create_pipeline_service.rb @@ -57,7 +57,9 @@ module Ci cancel_pending_pipelines if project.auto_cancel_pending_pipelines? pipeline_created_counter.increment(source: source) - pipeline.process! + Ci::ProcessPipelineService + .new(pipeline) + .execute end end diff --git a/app/services/ci/process_pipeline_service.rb b/app/services/ci/process_pipeline_service.rb index 039670f58c8..f33cbf7ab29 100644 --- a/app/services/ci/process_pipeline_service.rb +++ b/app/services/ci/process_pipeline_service.rb @@ -1,14 +1,16 @@ # frozen_string_literal: true module Ci - class ProcessPipelineService < BaseService + class ProcessPipelineService include Gitlab::Utils::StrongMemoize attr_reader :pipeline - def execute(pipeline, trigger_build_ids = nil) + def initialize(pipeline) @pipeline = pipeline + end + def execute(trigger_build_ids = nil) update_retried success = process_stages_without_needs @@ -72,7 +74,7 @@ module Ci def process_build(build, current_status) Gitlab::OptimisticLocking.retry_lock(build) do |subject| - Ci::ProcessBuildService.new(project, @user) + Ci::ProcessBuildService.new(project, build.user) .execute(subject, current_status) end end @@ -129,5 +131,9 @@ module Ci .update_all(retried: true) if latest_statuses.any? end # rubocop: enable CodeReuse/ActiveRecord + + def project + pipeline.project + end end end diff --git a/app/services/ci/retry_pipeline_service.rb b/app/services/ci/retry_pipeline_service.rb index 42a13367a99..1f747aac98f 100644 --- a/app/services/ci/retry_pipeline_service.rb +++ b/app/services/ci/retry_pipeline_service.rb @@ -24,7 +24,9 @@ module Ci .new(project, current_user) .close_all(pipeline) - pipeline.process! + Ci::ProcessPipelineService + .new(pipeline) + .execute end end end diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index 8a79c5f889d..200eca0e43c 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -397,7 +397,7 @@ class IssuableBaseService < BaseService end def update_project_counter_caches?(issuable) - issuable.state_changed? + issuable.state_id_changed? end def parent diff --git a/app/workers/pipeline_process_worker.rb b/app/workers/pipeline_process_worker.rb index 2a36ab992e9..200f3619332 100644 --- a/app/workers/pipeline_process_worker.rb +++ b/app/workers/pipeline_process_worker.rb @@ -11,7 +11,9 @@ class PipelineProcessWorker # rubocop: disable CodeReuse/ActiveRecord def perform(pipeline_id, build_ids = nil) Ci::Pipeline.find_by(id: pipeline_id).try do |pipeline| - pipeline.process!(build_ids) + Ci::ProcessPipelineService + .new(pipeline) + .execute(build_ids) end end # rubocop: enable CodeReuse/ActiveRecord |