diff options
author | Valery Sizov <vsv2711@gmail.com> | 2015-07-03 11:52:38 +0300 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-07-03 11:57:08 +0300 |
commit | 2f23b59a875d75734f824c8f30a8986b701cf552 (patch) | |
tree | ab1b52117c236c487514c748a1c04f646ec90d65 | |
parent | 578a0be5627985d8fe4859b9d52e03b48d1bf158 (diff) | |
download | gitlab-ci-7-12-stable_revert.tar.gz |
Revert "Build registering fix"7-12-stable_revert
This reverts commit 891a003c7f85bd99a4401a1abce5d9cb2cd98891.
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/services/register_build_service.rb | 12 | ||||
-rw-r--r-- | spec/requests/api/builds_spec.rb | 2 | ||||
-rw-r--r-- | spec/services/register_build_service_spec.rb | 31 |
4 files changed, 9 insertions, 37 deletions
@@ -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 |