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
0
Merge Requests
0
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
Boxiang Sun
gitlab-ce
Commits
202df2fb
Commit
202df2fb
authored
Nov 05, 2018
by
Kamil Trzciński
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Backport support project security dashboard changes
parent
ec37e707
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
5 deletions
+19
-5
app/models/ci/pipeline.rb
app/models/ci/pipeline.rb
+14
-5
spec/models/ci/pipeline_spec.rb
spec/models/ci/pipeline_spec.rb
+5
-0
No files found.
app/models/ci/pipeline.rb
View file @
202df2fb
...
@@ -181,22 +181,31 @@ module Ci
...
@@ -181,22 +181,31 @@ module Ci
#
#
# ref - The name (or names) of the branch(es)/tag(s) to limit the list of
# ref - The name (or names) of the branch(es)/tag(s) to limit the list of
# pipelines to.
# pipelines to.
def
self
.
newest_first
(
ref
=
nil
)
# limit - This limits a backlog search, default to 100.
def
self
.
newest_first
(
ref:
nil
,
limit:
100
)
relation
=
order
(
id: :desc
)
relation
=
order
(
id: :desc
)
relation
=
relation
.
where
(
ref:
ref
)
if
ref
if
limit
ids
=
relation
.
limit
(
limit
).
select
(
:id
)
# MySQL does not support limit in subquery
ids
=
ids
.
pluck
(
:id
)
if
Gitlab
::
Database
.
mysql?
relation
=
relation
.
where
(
id:
ids
)
end
re
f
?
relation
.
where
(
ref:
ref
)
:
re
lation
relation
end
end
def
self
.
latest_status
(
ref
=
nil
)
def
self
.
latest_status
(
ref
=
nil
)
newest_first
(
ref
).
pluck
(
:status
).
first
newest_first
(
ref
:
ref
).
pluck
(
:status
).
first
end
end
def
self
.
latest_successful_for
(
ref
)
def
self
.
latest_successful_for
(
ref
)
newest_first
(
ref
).
success
.
take
newest_first
(
ref
:
ref
).
success
.
take
end
end
def
self
.
latest_successful_for_refs
(
refs
)
def
self
.
latest_successful_for_refs
(
refs
)
relation
=
newest_first
(
refs
).
success
relation
=
newest_first
(
ref
:
ref
s
).
success
relation
.
each_with_object
({})
do
|
pipeline
,
hash
|
relation
.
each_with_object
({})
do
|
pipeline
,
hash
|
hash
[
pipeline
.
ref
]
||=
pipeline
hash
[
pipeline
.
ref
]
||=
pipeline
...
...
spec/models/ci/pipeline_spec.rb
View file @
202df2fb
...
@@ -1043,6 +1043,11 @@ describe Ci::Pipeline, :mailer do
...
@@ -1043,6 +1043,11 @@ describe Ci::Pipeline, :mailer do
expect
(
described_class
.
newest_first
.
pluck
(
:status
))
expect
(
described_class
.
newest_first
.
pluck
(
:status
))
.
to
eq
(
%w[skipped failed success canceled]
)
.
to
eq
(
%w[skipped failed success canceled]
)
end
end
it
'searches limited backlog'
do
expect
(
described_class
.
newest_first
(
limit:
1
).
pluck
(
:status
))
.
to
eq
(
%w[skipped]
)
end
end
end
describe
'.latest_status'
do
describe
'.latest_status'
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