Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
06985d67
Commit
06985d67
authored
Jul 09, 2019
by
GitLab Bot
Browse files
Options
Browse Files
Download
Plain Diff
Automatic merge of gitlab-org/gitlab-ce master
parents
6ed283f3
630a8e80
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
1 deletion
+40
-1
changelogs/unreleased/fix-median-counting-for-cycle-analytics.yml
...gs/unreleased/fix-median-counting-for-cycle-analytics.yml
+5
-0
lib/gitlab/database/median.rb
lib/gitlab/database/median.rb
+1
-1
spec/lib/gitlab/cycle_analytics/test_stage_spec.rb
spec/lib/gitlab/cycle_analytics/test_stage_spec.rb
+34
-0
No files found.
changelogs/unreleased/fix-median-counting-for-cycle-analytics.yml
0 → 100644
View file @
06985d67
---
title
:
Fix median counting for cycle analytics
merge_request
:
30229
author
:
type
:
fixed
lib/gitlab/database/median.rb
View file @
06985d67
...
@@ -158,7 +158,7 @@ module Gitlab
...
@@ -158,7 +158,7 @@ module Gitlab
Arel
::
Nodes
::
Window
.
new
.
order
(
arel_table
[
column_sym
])
Arel
::
Nodes
::
Window
.
new
.
order
(
arel_table
[
column_sym
])
).
as
(
'row_id'
)
).
as
(
'row_id'
)
count
=
arel_table
.
project
(
"COUNT(1)"
).
as
(
'ct'
)
count
=
arel_table
.
where
(
arel_table
[
column_sym
].
gteq
(
zero_interval
)).
project
(
"COUNT(1)"
).
as
(
'ct'
)
[
column_row
,
row_id
,
count
]
[
column_row
,
row_id
,
count
]
end
end
...
...
spec/lib/gitlab/cycle_analytics/test_stage_spec.rb
View file @
06985d67
...
@@ -3,6 +3,40 @@ require 'lib/gitlab/cycle_analytics/shared_stage_spec'
...
@@ -3,6 +3,40 @@ require 'lib/gitlab/cycle_analytics/shared_stage_spec'
describe
Gitlab
::
CycleAnalytics
::
TestStage
do
describe
Gitlab
::
CycleAnalytics
::
TestStage
do
let
(
:stage_name
)
{
:test
}
let
(
:stage_name
)
{
:test
}
let
(
:project
)
{
create
(
:project
)
}
let
(
:stage
)
{
described_class
.
new
(
project:
project
,
options:
{
from:
2
.
days
.
ago
,
current_user:
project
.
creator
})
}
it_behaves_like
'base stage'
it_behaves_like
'base stage'
describe
'#median'
do
before
do
issue_1
=
create
(
:issue
,
project:
project
,
created_at:
90
.
minutes
.
ago
)
issue_2
=
create
(
:issue
,
project:
project
,
created_at:
60
.
minutes
.
ago
)
issue_3
=
create
(
:issue
,
project:
project
,
created_at:
60
.
minutes
.
ago
)
mr_1
=
create
(
:merge_request
,
:closed
,
source_project:
project
,
created_at:
60
.
minutes
.
ago
)
mr_2
=
create
(
:merge_request
,
:closed
,
source_project:
project
,
created_at:
40
.
minutes
.
ago
,
source_branch:
'A'
)
mr_3
=
create
(
:merge_request
,
source_project:
project
,
created_at:
10
.
minutes
.
ago
,
source_branch:
'B'
)
mr_4
=
create
(
:merge_request
,
source_project:
project
,
created_at:
10
.
minutes
.
ago
,
source_branch:
'C'
)
mr_5
=
create
(
:merge_request
,
source_project:
project
,
created_at:
10
.
minutes
.
ago
,
source_branch:
'D'
)
mr_1
.
metrics
.
update!
(
latest_build_started_at:
32
.
minutes
.
ago
,
latest_build_finished_at:
2
.
minutes
.
ago
)
mr_2
.
metrics
.
update!
(
latest_build_started_at:
62
.
minutes
.
ago
,
latest_build_finished_at:
32
.
minutes
.
ago
)
mr_3
.
metrics
.
update!
(
latest_build_started_at:
nil
,
latest_build_finished_at:
nil
)
mr_4
.
metrics
.
update!
(
latest_build_started_at:
nil
,
latest_build_finished_at:
nil
)
mr_5
.
metrics
.
update!
(
latest_build_started_at:
nil
,
latest_build_finished_at:
nil
)
create
(
:merge_requests_closing_issues
,
merge_request:
mr_1
,
issue:
issue_1
)
create
(
:merge_requests_closing_issues
,
merge_request:
mr_2
,
issue:
issue_2
)
create
(
:merge_requests_closing_issues
,
merge_request:
mr_3
,
issue:
issue_3
)
create
(
:merge_requests_closing_issues
,
merge_request:
mr_4
,
issue:
issue_3
)
create
(
:merge_requests_closing_issues
,
merge_request:
mr_5
,
issue:
issue_3
)
end
around
do
|
example
|
Timecop
.
freeze
{
example
.
run
}
end
it
'counts median from issues with metrics'
do
expect
(
stage
.
median
).
to
eq
(
ISSUES_MEDIAN
)
end
end
end
end
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