Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
c6bce7e6
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,发现更多精彩内容 >>
提交
c6bce7e6
编写于
6月 02, 2016
作者:
K
Kamil Trzcinski
提交者:
Grzegorz Bizon
6月 03, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Save Ci::Commit object to persist all created builds
上级
07af37a2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
21 addition
and
6 deletion
+21
-6
app/models/ci/build.rb
app/models/ci/build.rb
+4
-1
app/models/ci/commit.rb
app/models/ci/commit.rb
+4
-2
app/services/ci/create_pipeline_service.rb
app/services/ci/create_pipeline_service.rb
+1
-1
app/services/ci/create_trigger_request_service.rb
app/services/ci/create_trigger_request_service.rb
+1
-0
spec/models/ci/commit_spec.rb
spec/models/ci/commit_spec.rb
+6
-2
spec/requests/ci/api/builds_spec.rb
spec/requests/ci/api/builds_spec.rb
+5
-0
未找到文件。
app/models/ci/build.rb
浏览文件 @
c6bce7e6
...
...
@@ -66,7 +66,10 @@ module Ci
# We use around_transition to create builds for next stage as soon as possible, before the `after_*` is executed
around_transition
any
=>
[
:success
,
:failed
,
:canceled
]
do
|
build
,
block
|
block
.
call
build
.
commit
.
create_next_builds
(
build
)
if
build
.
commit
if
build
.
commit
build
.
commit
.
create_next_builds
(
build
)
build
.
commit
.
save
end
end
after_transition
any
=>
[
:success
,
:failed
,
:canceled
]
do
|
build
|
...
...
app/models/ci/commit.rb
浏览文件 @
c6bce7e6
...
...
@@ -13,7 +13,7 @@ module Ci
validate
:valid_commit_sha
# Invalidate object and save if when touched
after_touch
:update_state
!
after_touch
:update_state
def
self
.
truncate_sha
(
sha
)
sha
[
0
...
8
]
...
...
@@ -159,7 +159,9 @@ module Ci
git_commit_message
=~
/(\[ci skip\])/
if
git_commit_message
end
def
update_state!
private
def
update_state
statuses
.
reload
self
.
status
=
if
yaml_errors
.
blank?
statuses
.
latest
.
status
||
'skipped'
...
...
app/services/ci/create_pipeline_service.rb
浏览文件 @
c6bce7e6
...
...
@@ -31,7 +31,7 @@ module Ci
pipeline
.
errors
.
add
(
:base
,
'No builds for this pipeline.'
)
end
pipeline
.
update_state!
pipeline
.
save
pipeline
end
...
...
app/services/ci/create_trigger_request_service.rb
浏览文件 @
c6bce7e6
...
...
@@ -15,6 +15,7 @@ module Ci
)
if
ci_commit
.
create_builds
(
nil
,
trigger_request
)
ci_commit
.
save
trigger_request
end
end
...
...
spec/models/ci/commit_spec.rb
浏览文件 @
c6bce7e6
...
...
@@ -55,11 +55,15 @@ describe Ci::Commit, models: true do
let!
(
:commit
)
{
FactoryGirl
.
create
:ci_commit
,
project:
project
,
ref:
'master'
,
tag:
false
}
def
create_builds
(
trigger_request
=
nil
)
commit
.
create_builds
(
nil
,
trigger_request
)
if
commit
.
create_builds
(
nil
,
trigger_request
)
commit
.
save
end
end
def
create_next_builds
commit
.
create_next_builds
(
commit
.
builds
.
order
(
:id
).
last
)
if
commit
.
create_next_builds
(
commit
.
builds
.
order
(
:id
).
last
)
commit
.
save
end
end
it
'creates builds'
do
...
...
spec/requests/ci/api/builds_spec.rb
浏览文件 @
c6bce7e6
...
...
@@ -22,6 +22,7 @@ describe Ci::API::API do
it
"should start a build"
do
commit
=
FactoryGirl
.
create
(
:ci_commit
,
project:
project
,
ref:
'master'
)
commit
.
create_builds
(
nil
)
commit
.
save
build
=
commit
.
builds
.
first
post
ci_api
(
"/builds/register"
),
token:
runner
.
token
,
info:
{
platform: :darwin
}
...
...
@@ -58,6 +59,7 @@ describe Ci::API::API do
it
"returns options"
do
commit
=
FactoryGirl
.
create
(
:ci_commit
,
project:
project
,
ref:
'master'
)
commit
.
create_builds
(
nil
)
commit
.
save
post
ci_api
(
"/builds/register"
),
token:
runner
.
token
,
info:
{
platform: :darwin
}
...
...
@@ -68,6 +70,7 @@ describe Ci::API::API do
it
"returns variables"
do
commit
=
FactoryGirl
.
create
(
:ci_commit
,
project:
project
,
ref:
'master'
)
commit
.
create_builds
(
nil
)
commit
.
save
project
.
variables
<<
Ci
::
Variable
.
new
(
key:
"SECRET_KEY"
,
value:
"secret_value"
)
post
ci_api
(
"/builds/register"
),
token:
runner
.
token
,
info:
{
platform: :darwin
}
...
...
@@ -87,6 +90,7 @@ describe Ci::API::API do
trigger_request
=
FactoryGirl
.
create
(
:ci_trigger_request_with_variables
,
commit:
commit
,
trigger:
trigger
)
commit
.
create_builds
(
nil
,
trigger_request
)
commit
.
save
project
.
variables
<<
Ci
::
Variable
.
new
(
key:
"SECRET_KEY"
,
value:
"secret_value"
)
post
ci_api
(
"/builds/register"
),
token:
runner
.
token
,
info:
{
platform: :darwin
}
...
...
@@ -105,6 +109,7 @@ describe Ci::API::API do
it
"returns dependent builds"
do
commit
=
FactoryGirl
.
create
(
:ci_commit
,
project:
project
,
ref:
'master'
)
commit
.
create_builds
(
nil
,
nil
)
commit
.
save
commit
.
builds
.
where
(
stage:
'test'
).
each
(
&
:success
)
post
ci_api
(
"/builds/register"
),
token:
runner
.
token
,
info:
{
platform: :darwin
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录