diff --git a/app/services/ci/register_job_service.rb b/app/services/ci/register_job_service.rb index 2abc4a67dd6d5e9bff4bf9d6e498367a76fd63ad..13321b2682e47627ae78ae8e16a26d457d6058da 100644 --- a/app/services/ci/register_job_service.rb +++ b/app/services/ci/register_job_service.rb @@ -36,7 +36,7 @@ module Ci builds = builds.with_any_tags end - selection = builds.find do |build| + builds.each do |build| next unless runner.can_pick?(build) begin @@ -45,7 +45,7 @@ module Ci if assign_runner!(build, params) register_success(build) - break build + return Result.new(build, true) end rescue StateMachines::InvalidTransition, ActiveRecord::StaleObjectError # We are looping to find another build that is not conflicting @@ -61,8 +61,6 @@ module Ci end end - return Result.new(selection, true) if selection - register_failure Result.new(nil, valid) end