diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 11:59:07 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-12-17 11:59:07 +0000 |
commit | 8b573c94895dc0ac0e1d9d59cf3e8745e8b539ca (patch) | |
tree | 544930fb309b30317ae9797a9683768705d664c4 /app/services/releases | |
parent | 4b1de649d0168371549608993deac953eb692019 (diff) | |
download | gitlab-ce-8b573c94895dc0ac0e1d9d59cf3e8745e8b539ca.tar.gz |
Add latest changes from gitlab-org/gitlab@13-7-stable-eev13.7.0-rc42
Diffstat (limited to 'app/services/releases')
-rw-r--r-- | app/services/releases/base_service.rb | 20 | ||||
-rw-r--r-- | app/services/releases/create_service.rb | 22 |
2 files changed, 10 insertions, 32 deletions
diff --git a/app/services/releases/base_service.rb b/app/services/releases/base_service.rb index 38ef80ced56..d0e1577bd8d 100644 --- a/app/services/releases/base_service.rb +++ b/app/services/releases/base_service.rb @@ -11,8 +11,6 @@ module Releases @project, @current_user, @params = project, user, params.dup end - delegate :repository, to: :project - def tag_name params[:tag] end @@ -39,22 +37,18 @@ module Releases end end - def existing_tag - strong_memoize(:existing_tag) do - repository.find_tag(tag_name) - end - end - - def tag_exist? - existing_tag.present? - end - def repository strong_memoize(:repository) do project.repository end end + def existing_tag + strong_memoize(:existing_tag) do + repository.find_tag(tag_name) + end + end + def milestones return [] unless param_for_milestone_titles_provided? @@ -78,7 +72,7 @@ module Releases end def param_for_milestone_titles_provided? - params.key?(:milestones) + !!params[:milestones] end def execute_hooks(release, action = 'create') diff --git a/app/services/releases/create_service.rb b/app/services/releases/create_service.rb index deefe559d5d..11fdbaf3169 100644 --- a/app/services/releases/create_service.rb +++ b/app/services/releases/create_service.rb @@ -10,7 +10,7 @@ module Releases # should be found before the creation of new tag # because tag creation can spawn new pipeline # which won't have any data for evidence yet - evidence_pipeline = find_evidence_pipeline + evidence_pipeline = Releases::EvidencePipelineFinder.new(project, params).execute tag = ensure_tag @@ -78,26 +78,10 @@ module Releases ) end - def find_evidence_pipeline - # TODO: remove this with the release creation moved to it's own form https://gitlab.com/gitlab-org/gitlab/-/issues/214245 - return params[:evidence_pipeline] if params[:evidence_pipeline] - - sha = existing_tag&.dereferenced_target&.sha - sha ||= repository.commit(ref)&.sha - - return unless sha - - project.ci_pipelines.for_sha(sha).last - end - def create_evidence!(release, pipeline) - return if release.historical_release? + return if release.historical_release? || release.upcoming_release? - if release.upcoming_release? - CreateEvidenceWorker.perform_at(release.released_at, release.id, pipeline&.id) - else - CreateEvidenceWorker.perform_async(release.id, pipeline&.id) - end + ::Releases::CreateEvidenceWorker.perform_async(release.id, pipeline&.id) end end end |