#755: update BuildList#publish_container
This commit is contained in:
parent
0fe74f17ac
commit
b62414ec1d
|
@ -144,6 +144,8 @@ class BuildList < ActiveRecord::Base
|
||||||
after_transition :on => :published, :do => [:set_version_and_tag, :actualize_packages]
|
after_transition :on => :published, :do => [:set_version_and_tag, :actualize_packages]
|
||||||
after_transition :on => :cancel, :do => [:cancel_job],
|
after_transition :on => :cancel, :do => [:cancel_job],
|
||||||
:if => lambda { |build_list| build_list.new_core? }
|
:if => lambda { |build_list| build_list.new_core? }
|
||||||
|
after_transition :on => :publish, :do => [:publish_container],
|
||||||
|
:if => lambda { |build_list| build_list.new_core? }
|
||||||
|
|
||||||
after_transition :on => [:published, :fail_publish, :build_error], :do => :notify_users
|
after_transition :on => [:published, :fail_publish, :build_error], :do => :notify_users
|
||||||
after_transition :on => :build_success, :do => :notify_users,
|
after_transition :on => :build_success, :do => :notify_users,
|
||||||
|
@ -201,7 +203,10 @@ class BuildList < ActiveRecord::Base
|
||||||
|
|
||||||
event :publish do
|
event :publish do
|
||||||
transition [:success, :failed_publish] => :build_publish, :if => lambda { |build_list|
|
transition [:success, :failed_publish] => :build_publish, :if => lambda { |build_list|
|
||||||
BuildServer.publish_container(build_list.bs_id) == BuildServer::SUCCESS
|
!build_list.new_core? && BuildServer.publish_container(build_list.bs_id) == BuildServer::SUCCESS
|
||||||
|
}
|
||||||
|
transition [:success, :failed_publish] => :build_publish, :if => lambda { |build_list|
|
||||||
|
build_list.new_core?
|
||||||
}
|
}
|
||||||
transition [:success, :failed_publish] => :failed_publish
|
transition [:success, :failed_publish] => :failed_publish
|
||||||
end
|
end
|
||||||
|
@ -261,12 +266,20 @@ class BuildList < ActiveRecord::Base
|
||||||
|
|
||||||
def publish_container
|
def publish_container
|
||||||
type = save_to_platform.distrib_type
|
type = save_to_platform.distrib_type
|
||||||
|
archive = results.select{ |r| r['file_name'] =~ /.*\.tar\.gz$/}[0]
|
||||||
Resque.push(
|
Resque.push(
|
||||||
"publish_build_list_container_#{type}",
|
"publish_build_list_container_#{type}_worker",
|
||||||
'class' => "AbfWorker::PublishBuildListContainer#{type.capitalize}",
|
'class' => "AbfWorker::PublishBuildListContainer#{type.capitalize}Worker",
|
||||||
'args' => [{:id => id}]
|
'args' => [{
|
||||||
|
:id => id,
|
||||||
|
:released => save_to_platform.released,
|
||||||
|
:arch => arch.name,
|
||||||
|
:distrib_type => type,
|
||||||
|
:container_sha1 => archive['sha1'],
|
||||||
|
:platform_path => "#{APP_CONFIG[root]}/platforms/#{save_to_platform.name}/",
|
||||||
|
:time_living => 1800 # 30 min
|
||||||
|
}]
|
||||||
)
|
)
|
||||||
true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def add_to_queue
|
def add_to_queue
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
module AbfWorker
|
|
||||||
module Helpers
|
|
||||||
module PublishBuildListContainerHelper
|
|
||||||
|
|
||||||
def perform(options)
|
|
||||||
initialize_worker BuildList.find(options['id'])
|
|
||||||
publish
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def publish
|
|
||||||
@build_list.packages.each do |package|
|
|
||||||
pdir_srpm = @platsdir + "/" + pname + "/repository/" + bpname + "/SRPMS/" + repo + "/" + version
|
|
||||||
pdir_rpm = @platsdir + "/" + pname + "/repository/" + bpname + "/" + arch + "/" + repo + "/" + version
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def initialize_worker(id)
|
|
||||||
@build_list = BuildList.find(id)
|
|
||||||
save_to_platform = @build_list.save_to_platform
|
|
||||||
@plid = save_to_platform.id
|
|
||||||
@pname = save_to_platform.name
|
|
||||||
@version = save_to_platform.released ? 'updates' : 'release'
|
|
||||||
|
|
||||||
# TODO: where I can find it???
|
|
||||||
@platsdir = "#{APP_CONFIG[root]}/platforms"
|
|
||||||
@arch = @build_list.arch.name
|
|
||||||
# TODO: what is it???
|
|
||||||
only_newer = res[0]["only_newer"]
|
|
||||||
|
|
||||||
build_for_platform = @build_list.build_for_platform
|
|
||||||
@idbuild_platform = build_for_platform.id
|
|
||||||
@bpname = build_for_platform.name
|
|
||||||
|
|
||||||
@blname = "#{@build_list.items.first.name}-#{@build_list.bs_id}"
|
|
||||||
@bprid = @build_list.project_id
|
|
||||||
@bprname = @build_list.project.name
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Reference in New Issue