Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
22dadfb2ad2d
Commit
2c1f7cca
authored
Sep 28, 2015
by
Kamil Trzcinski
Browse files
Fix register_build_service tests
parent
f9f507e502bf
Changes
3
Hide whitespace changes
Inline
Side-by-side
app/models/ci/runner.rb
View file @
22dadfb2
...
...
@@ -41,6 +41,10 @@ def self.search(query)
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
...
...
app/services/ci/register_build_service.rb
View file @
22dadfb2
...
...
@@ -8,10 +8,10 @@ def execute(current_runner)
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 @@ def execute(current_runner)
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
...
...
spec/services/ci/register_build_service_spec.rb
View file @
22dadfb2
...
...
@@ -3,15 +3,15 @@
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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment