30 lines
569 B
Ruby
30 lines
569 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Git
|
|
class TagPushService < ::BaseService
|
|
include ChangeParams
|
|
|
|
def execute
|
|
return unless Gitlab::Git.tag_ref?(ref)
|
|
|
|
project.repository.before_push_tag
|
|
TagHooksService.new(project, current_user, params).execute
|
|
|
|
unlock_artifacts
|
|
|
|
true
|
|
end
|
|
|
|
private
|
|
|
|
def unlock_artifacts
|
|
return unless removing_tag?
|
|
|
|
Ci::RefDeleteUnlockArtifactsWorker.perform_async(project.id, current_user.id, ref)
|
|
end
|
|
|
|
def removing_tag?
|
|
Gitlab::Git.blank_ref?(newrev)
|
|
end
|
|
end
|
|
end
|