Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
d8675bd4
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
d8675bd4
编写于
10月 04, 2017
作者:
A
Alexis Reigel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
select group runners also in build queue service
上级
8d61d33d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
62 addition
and
16 deletion
+62
-16
app/services/ci/update_build_queue_service.rb
app/services/ci/update_build_queue_service.rb
+12
-4
spec/services/ci/update_build_queue_service_spec.rb
spec/services/ci/update_build_queue_service_spec.rb
+50
-12
未找到文件。
app/services/ci/update_build_queue_service.rb
浏览文件 @
d8675bd4
...
...
@@ -7,11 +7,19 @@ module Ci
end
end
return
unless
build
.
project
.
shared_runners_enabled?
if
build
.
project
.
group_runners_enabled?
Ci
::
Runner
.
belonging_to_group
(
build
.
project_id
).
each
do
|
runner
|
if
runner
.
can_pick?
(
build
)
runner
.
tick_runner_queue
end
end
end
Ci
::
Runner
.
shared
.
each
do
|
runner
|
if
runner
.
can_pick?
(
build
)
runner
.
tick_runner_queue
if
build
.
project
.
shared_runners_enabled?
Ci
::
Runner
.
shared
.
each
do
|
runner
|
if
runner
.
can_pick?
(
build
)
runner
.
tick_runner_queue
end
end
end
end
...
...
spec/services/ci/update_build_queue_service_spec.rb
浏览文件 @
d8675bd4
...
...
@@ -8,21 +8,19 @@ describe Ci::UpdateBuildQueueService do
context
'when updating specific runners'
do
let
(
:runner
)
{
create
(
:ci_runner
)
}
context
'when there
are
runner that can pick build'
do
context
'when there
is a
runner that can pick build'
do
before
do
build
.
project
.
runners
<<
runner
end
it
'ticks runner queue value'
do
expect
{
subject
.
execute
(
build
)
}
.
to
change
{
runner
.
ensure_runner_queue_value
}
expect
{
subject
.
execute
(
build
)
}.
to
change
{
runner
.
ensure_runner_queue_value
}
end
end
context
'when there
are no runners
that can pick build'
do
context
'when there
is no runner
that can pick build'
do
it
'does not tick runner queue value'
do
expect
{
subject
.
execute
(
build
)
}
.
not_to
change
{
runner
.
ensure_runner_queue_value
}
expect
{
subject
.
execute
(
build
)
}.
not_to
change
{
runner
.
ensure_runner_queue_value
}
end
end
end
...
...
@@ -30,21 +28,61 @@ describe Ci::UpdateBuildQueueService do
context
'when updating shared runners'
do
let
(
:runner
)
{
create
(
:ci_runner
,
:shared
)
}
context
'when there
are
runner that can pick build'
do
context
'when there
is no
runner that can pick build'
do
it
'ticks runner queue value'
do
expect
{
subject
.
execute
(
build
)
}
.
to
change
{
runner
.
ensure_runner_queue_value
}
expect
{
subject
.
execute
(
build
)
}.
to
change
{
runner
.
ensure_runner_queue_value
}
end
end
context
'when there
are no runners that can pick build
'
do
context
'when there
is no runner that can pick build due to tag mismatch
'
do
before
do
build
.
tag_list
=
[
:docker
]
end
it
'does not tick runner queue value'
do
expect
{
subject
.
execute
(
build
)
}
.
not_to
change
{
runner
.
ensure_runner_queue_value
}
expect
{
subject
.
execute
(
build
)
}.
not_to
change
{
runner
.
ensure_runner_queue_value
}
end
end
context
'when there is no runner that can pick build due to being disabled on project'
do
before
do
build
.
project
.
shared_runners_enabled
=
false
end
it
'does not tick runner queue value'
do
expect
{
subject
.
execute
(
build
)
}.
not_to
change
{
runner
.
ensure_runner_queue_value
}
end
end
end
context
'when updating group runners'
do
let
(
:group
)
{
create
:group
}
let
(
:project
)
{
create
:project
,
group:
group
}
let
(
:runner
)
{
create
:ci_runner
,
groups:
[
group
]
}
context
'when there is a runner that can pick build'
do
it
'ticks runner queue value'
do
expect
{
subject
.
execute
(
build
)
}.
to
change
{
runner
.
ensure_runner_queue_value
}
end
end
context
'when there is no runner that can pick build due to tag mismatch'
do
before
do
build
.
tag_list
=
[
:docker
]
end
it
'does not tick runner queue value'
do
expect
{
subject
.
execute
(
build
)
}.
not_to
change
{
runner
.
ensure_runner_queue_value
}
end
end
context
'when there is no runner that can pick build due to being disabled on project'
do
before
do
build
.
project
.
group_runners_enabled
=
false
end
it
'does not tick runner queue value'
do
expect
{
subject
.
execute
(
build
)
}.
not_to
change
{
runner
.
ensure_runner_queue_value
}
end
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录