diff --git a/VERSION.yml b/VERSION.yml index d0c4551..149e43e 100644 --- a/VERSION.yml +++ b/VERSION.yml @@ -1,4 +1,5 @@ --- :minor: 1 -:patch: 2 +:patch: 3 :major: 0 +:build: diff --git a/lib/capistrano/configuration/extensions/actions/invocation.rb b/lib/capistrano/configuration/extensions/actions/invocation.rb index f527375..4ee7df6 100644 --- a/lib/capistrano/configuration/extensions/actions/invocation.rb +++ b/lib/capistrano/configuration/extensions/actions/invocation.rb @@ -1,4 +1,7 @@ module Capistrano + + ParallelError = Class.new(Capistrano::Error) + class Configuration module Extensions module Actions @@ -34,7 +37,7 @@ def run_parallelize_loop(proxy, thread_count) threads = run_in_threads(chunk) all_threads << threads wait_for(threads) - rollback_all_threads(all_threads.flatten) and return if threads.any? {|t| t[:rolled_back] || t[:exception_raised]} + rollback_all_threads(all_threads.flatten) and raise ParallelError.new("Subthread failed in parallel running, rolled back.") if threads.any? {|t| t[:rolled_back] || t[:exception_raised]} batch += 1 end all_threads @@ -81,4 +84,4 @@ def rollback_all_threads(threads) end end end -end \ No newline at end of file +end