Update release script to upload assets in parallel

This commit is contained in:
Junegunn Choi
2017-01-22 18:33:30 +09:00
parent c4baa6a10c
commit 4d928001b8

View File

@@ -23,21 +23,23 @@ end
# List assets # List assets
assets = Hash[rel['assets'].map { |a| a.values_at *%w[name id] }] assets = Hash[rel['assets'].map { |a| a.values_at *%w[name id] }]
files.select { |f| File.exists? f }.each do |file| files.select { |f| File.exists? f }.map do |file|
name = File.basename file Thread.new do
name = File.basename file
if asset_id = assets[name] if asset_id = assets[name]
puts "#{name} found. Deleting asset id #{asset_id}." puts "#{name} found. Deleting asset id #{asset_id}."
RestClient.delete "#{base}/assets/#{asset_id}", RestClient.delete "#{base}/assets/#{asset_id}",
:authorization => "token #{token}" :authorization => "token #{token}"
else else
puts "#{name} not found" puts "#{name} not found"
end
puts "Uploading #{name}"
RestClient.post(
"#{base.sub 'api', 'uploads'}/#{rel['id']}/assets?name=#{name}",
File.read(file),
:authorization => "token #{token}",
:content_type => "application/octet-stream")
end end
end.each(&:join)
puts "Uploading #{name}"
RestClient.post(
"#{base.sub 'api', 'uploads'}/#{rel['id']}/assets?name=#{name}",
File.read(file),
:authorization => "token #{token}",
:content_type => "application/octet-stream")
end