in lib/gitlab/package_repository.rb [35:72]
def upload(repository = nil, dry_run = false)
if upload_user.nil?
puts "Owner of the repository to which packages are being uploaded not specified! Set `PACKAGECLOUD_USER` environment variable."
return
end
upload_list = package_list(repository)
raise "No packages found for upload. Are artifacts available?" if upload_list.empty?
validate(dry_run)
upload_list.each do |pkg|
cmd = "LC_ALL='en_US.UTF-8' bin/package_cloud push #{upload_user}/#{pkg} --url=https://packages.gitlab.com"
puts "Uploading...\n"
puts "Running the command: #{cmd}"
next if dry_run
Retriable.with_context(:package_publish, on: PackageUploadError) do
result = `
if child_process_status == 1
unless /filename: has already been taken/.match?(result)
puts 'Upload to package server failed!.'
puts "The command returned the output: #{result}"
raise PackageUploadError, "Upload to package server failed!."
end
puts "Package #{pkg} has already been uploaded, skipping.\n"
end
end
end
end