Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
74626106
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,发现更多精彩内容 >>
提交
74626106
编写于
9月 14, 2016
作者:
T
Timothy Andrew
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip: perf
上级
2110989f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
17 deletion
+20
-17
app/models/concerns/issuable.rb
app/models/concerns/issuable.rb
+3
-0
app/models/cycle_analytics/queries.rb
app/models/cycle_analytics/queries.rb
+2
-2
db/fixtures/development/17_cycle_analytics.rb
db/fixtures/development/17_cycle_analytics.rb
+15
-15
未找到文件。
app/models/concerns/issuable.rb
浏览文件 @
74626106
...
...
@@ -28,6 +28,9 @@ module Issuable
loaded?
&&
to_a
.
all?
{
|
note
|
note
.
association
(
:award_emoji
).
loaded?
}
end
end
has_many
:system_notes
,
->
{
merge
(
Note
.
system
)
},
class_name:
Note
,
as: :noteable
,
inverse_of: :noteable
has_many
:label_links
,
as: :target
,
dependent: :destroy
has_many
:labels
,
through: :label_links
has_many
:todos
,
as: :target
,
dependent: :destroy
...
...
app/models/cycle_analytics/queries.rb
浏览文件 @
74626106
...
...
@@ -2,7 +2,7 @@ class CycleAnalytics
module
Queries
class
<<
self
def
issues
(
project
,
created_after
:)
project
.
issues
.
where
(
"created_at >= ?"
,
created_after
).
map
{
|
issue
|
{
issue:
issue
}
}
project
.
issues
.
where
(
"created_at >= ?"
,
created_after
).
preload
(
:metrics
,
:system_notes
).
map
{
|
issue
|
{
issue:
issue
}
}
end
def
merge_requests_closing_issues
(
project
,
options
=
{})
...
...
@@ -29,7 +29,7 @@ class CycleAnalytics
def
issue_first_mentioned_in_commit_at
lambda
do
|
data_point
|
issue
=
data_point
[
:issue
]
commits_mentioning_issue
=
issue
.
notes
.
system
.
map
{
|
note
|
note
.
all_references
.
commits
}.
flatten
commits_mentioning_issue
=
issue
.
system_notes
.
map
{
|
note
|
note
.
all_references
.
commits
}.
flatten
commits_mentioning_issue
.
map
(
&
:committed_date
).
min
if
commits_mentioning_issue
.
present?
end
end
...
...
db/fixtures/development/17_cycle_analytics.rb
浏览文件 @
74626106
require
'sidekiq/testing'
class
Gitlab::Seeder::CycleAnalytics
def
initialize
(
project
)
def
initialize
(
project
,
perf:
false
)
@project
=
project
@user
=
User
.
find
(
1
)
@issue_count
=
perf
?
1000
:
5
stub_git_pre_receive!
end
...
...
@@ -27,32 +28,26 @@ class Gitlab::Seeder::CycleAnalytics
# Stage 1
Timecop
.
travel
5
.
days
.
from_now
add_milestones_and_list_labels
(
issues
)
Timecop
.
return
# Stage 2
Timecop
.
travel
10
.
days
.
from_now
Timecop
.
travel
5
.
days
.
from_now
branches
=
mention_in_commits
(
issues
)
Timecop
.
return
# Stage 3
Timecop
.
travel
1
5
.
days
.
from_now
Timecop
.
travel
5
.
days
.
from_now
merge_requests
=
create_merge_requests_closing_issues
(
issues
,
branches
)
Timecop
.
return
# Stage 4
Timecop
.
travel
20
.
days
.
from_now
Timecop
.
travel
5
.
days
.
from_now
run_builds
(
merge_requests
)
Timecop
.
return
# Stage 5
Timecop
.
travel
2
5
.
days
.
from_now
Timecop
.
travel
5
.
days
.
from_now
merge_merge_requests
(
merge_requests
)
Timecop
.
return
# Stage 6 / 7
Timecop
.
travel
30
.
days
.
from_now
Timecop
.
travel
5
.
days
.
from_now
deploy_to_production
(
merge_requests
)
Timecop
.
return
end
print
'.'
...
...
@@ -61,7 +56,7 @@ class Gitlab::Seeder::CycleAnalytics
private
def
create_issues
(
project
)
Array
.
new
(
5
)
do
Array
.
new
(
@issue_count
)
do
issue_params
=
{
title:
"Cycle Analytics:
#{
FFaker
::
Lorem
.
sentence
(
6
)
}
"
,
description:
FFaker
::
Lorem
.
sentence
,
...
...
@@ -166,8 +161,13 @@ class Gitlab::Seeder::CycleAnalytics
end
Gitlab
::
Seeder
.
quiet
do
Project
.
all
.
each
do
|
project
|
seeder
=
Gitlab
::
Seeder
::
CycleAnalytics
.
new
(
project
)
if
ENV
[
'SEED_CYCLE_ANALYTICS'
]
seeder
=
Gitlab
::
Seeder
::
CycleAnalytics
.
new
(
Project
.
find
(
1
))
seeder
.
seed!
elsif
ENV
[
'CYCLE_ANALYTICS_PERF_TEST'
]
seeder
=
Gitlab
::
Seeder
::
CycleAnalytics
.
new
(
Project
.
first
,
perf:
true
)
seeder
.
seed!
else
puts
"Not running the cycle analytics seed file. Use the `SEED_CYCLE_ANALYTICS` environment variable to enable it."
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录