From 2f23b59a875d75734f824c8f30a8986b701cf552 Mon Sep 17 00:00:00 2001 From: Valery Sizov Date: Fri, 3 Jul 2015 11:52:38 +0300 Subject: Revert "Build registering fix" This reverts commit 891a003c7f85bd99a4401a1abce5d9cb2cd98891. --- CHANGELOG | 1 - app/services/register_build_service.rb | 12 +++++++---- spec/requests/api/builds_spec.rb | 2 +- spec/services/register_build_service_spec.rb | 31 ---------------------------- 4 files changed, 9 insertions(+), 37 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 6d815fb..2d84112 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,4 @@ v7.12.1 - - Runner without tag should pick builds without tag only - Explicit error in the GitLab when commit not found. - Fix: lint with relative subpath - Update webhook example diff --git a/app/services/register_build_service.rb b/app/services/register_build_service.rb index b15e762..e0f1659 100644 --- a/app/services/register_build_service.rb +++ b/app/services/register_build_service.rb @@ -15,10 +15,14 @@ class RegisterBuildService builds = builds.order('created_at ASC') - build = builds.find do |build| - (build.tag_list - current_runner.tag_list).empty? - end - + build = + if current_runner.tag_list.present? + builds.find do |build| + (build.tag_list - current_runner.tag_list).empty? + end + else + builds.first + end if build # In case when 2 runners try to assign the same build, second runner will be declined diff --git a/spec/requests/api/builds_spec.rb b/spec/requests/api/builds_spec.rb index 64d00bf..1fece31 100644 --- a/spec/requests/api/builds_spec.rb +++ b/spec/requests/api/builds_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe API::API do include ApiHelpers - let(:runner) { FactoryGirl.create(:runner, tag_list: ["mysql", "ruby"]) } + let(:runner) { FactoryGirl.create(:runner) } let(:project) { FactoryGirl.create(:project) } describe "Builds API for runners" do diff --git a/spec/services/register_build_service_spec.rb b/spec/services/register_build_service_spec.rb index b5af777..1407346 100644 --- a/spec/services/register_build_service_spec.rb +++ b/spec/services/register_build_service_spec.rb @@ -13,37 +13,6 @@ describe RegisterBuildService do end describe :execute do - context 'runner follow tag list' do - it "picks build with the same tag" do - pending_build.tag_list = ["linux"] - pending_build.save - specific_runner.tag_list = ["linux"] - service.execute(specific_runner).should == pending_build - end - - it "does not pick build with different tag" do - pending_build.tag_list = ["linux"] - pending_build.save - specific_runner.tag_list = ["win32"] - service.execute(specific_runner).should be_false - end - - it "picks build without tag" do - service.execute(specific_runner).should == pending_build - end - - it "does not pick build with tag" do - pending_build.tag_list = ["linux"] - pending_build.save - service.execute(specific_runner).should be_false - end - - it "pick build without tag" do - specific_runner.tag_list = ["win32"] - service.execute(specific_runner).should == pending_build - end - end - context 'allow shared runners' do before do project.shared_runners_enabled = true -- cgit v1.2.1