summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2015-09-28 14:44:07 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2015-09-29 10:47:03 +0200
commit2c1f7ccac8180a49e45fb3cf79e03318420d1037 (patch)
treeeedcef2c050b56bb7e4f123b3b201d8993d81868
parent6abca1284791475a8240e4b25b5e6e7175533101 (diff)
downloadgitlab-ce-2c1f7ccac8180a49e45fb3cf79e03318420d1037.tar.gz
Fix register_build_service tests
-rw-r--r--app/models/ci/runner.rb4
-rw-r--r--app/services/ci/register_build_service.rb6
-rw-r--r--spec/services/ci/register_build_service_spec.rb9
3 files changed, 11 insertions, 8 deletions
diff --git a/app/models/ci/runner.rb b/app/models/ci/runner.rb
index 1e9f78a3748..6838ccfaaab 100644
--- a/app/models/ci/runner.rb
+++ b/app/models/ci/runner.rb
@@ -41,6 +41,10 @@ module Ci
query: "%#{query.try(:downcase)}%")
end
+ def gl_projects_ids
+ projects.select(:gitlab_id)
+ end
+
def set_default_values
self.token = SecureRandom.hex(15) if self.token.blank?
end
diff --git a/app/services/ci/register_build_service.rb b/app/services/ci/register_build_service.rb
index 33f1c1e918d..78cc51d31bb 100644
--- a/app/services/ci/register_build_service.rb
+++ b/app/services/ci/register_build_service.rb
@@ -8,10 +8,10 @@ module Ci
builds =
if current_runner.shared?
# don't run projects which have not enables shared runners
- builds.includes(:project).where(ci_projects: { shared_runners_enabled: true })
+ builds.joins(commit: {gl_project: :gitlab_ci_project}).where(ci_projects: {shared_runners_enabled: true})
else
# do run projects which are only assigned to this runner
- builds.where(project_id: current_runner.projects)
+ builds.joins(:commit).where(ci_commits: {gl_project_id: current_runner.gl_projects_ids})
end
builds = builds.order('created_at ASC')
@@ -19,7 +19,7 @@ module Ci
build = builds.find do |build|
(build.tag_list - current_runner.tag_list).empty?
end
-
+
if build
# In case when 2 runners try to assign the same build, second runner will be declined
diff --git a/spec/services/ci/register_build_service_spec.rb b/spec/services/ci/register_build_service_spec.rb
index 9057791ca43..ae4239be821 100644
--- a/spec/services/ci/register_build_service_spec.rb
+++ b/spec/services/ci/register_build_service_spec.rb
@@ -3,15 +3,15 @@ require 'spec_helper'
module Ci
describe RegisterBuildService do
let!(:service) { RegisterBuildService.new }
- let!(:project) { FactoryGirl.create :ci_project }
- let!(:gl_project) { FactoryGirl.create :empty_project, gitlab_ci_project: project }
+ let!(:gl_project) { FactoryGirl.create :empty_project }
let!(:commit) { FactoryGirl.create :ci_commit, gl_project: gl_project }
let!(:pending_build) { FactoryGirl.create :ci_build, commit: commit }
let!(:shared_runner) { FactoryGirl.create(:ci_runner, is_shared: true) }
let!(:specific_runner) { FactoryGirl.create(:ci_runner, is_shared: false) }
before do
- specific_runner.assign_to(project)
+ gl_project.ensure_ci_project
+ specific_runner.assign_to(gl_project.gitlab_ci_project)
end
describe :execute do
@@ -48,8 +48,7 @@ module Ci
context 'allow shared runners' do
before do
- project.shared_runners_enabled = true
- project.save
+ gl_project.gitlab_ci_project.update(shared_runners_enabled: true)
end
context 'shared runner' do