Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
9f425804a747
Commit
9f425804
authored
Dec 05, 2018
by
Francisco Javier López
Browse files
Rename project's pipelines relation
parent
b024c46c4a24
Changes
39
Hide whitespace changes
Inline
Side-by-side
app/controllers/projects/branches_controller.rb
View file @
9f425804
...
...
@@ -22,7 +22,7 @@
# Fetch branches for the specified mode
fetch_branches_by_mode
@refs_pipelines
=
@project
.
pipelines
.
latest_successful_for_refs
(
@branches
.
map
(
&
:name
))
@refs_pipelines
=
@project
.
ci_
pipelines
.
latest_successful_for_refs
(
@branches
.
map
(
&
:name
))
@merged_branch_names
=
repository
.
merged_branch_names
(
@branches
.
map
(
&
:name
))
# n+1: https://gitlab.com/gitlab-org/gitaly/issues/992
...
...
app/controllers/projects/pipelines_controller.rb
View file @
9f425804
...
...
@@ -46,7 +46,7 @@
end
def
new
@pipeline
=
project
.
pipelines
.
new
(
ref:
@project
.
default_branch
)
@pipeline
=
project
.
all_
pipelines
.
new
(
ref:
@project
.
default_branch
)
end
def
create
...
...
@@ -142,9 +142,9 @@
@charts
[
:pipeline_times
]
=
Gitlab
::
Ci
::
Charts
::
PipelineTime
.
new
(
project
)
@counts
=
{}
@counts
[
:total
]
=
@project
.
pipelines
.
count
(
:all
)
@counts
[
:success
]
=
@project
.
pipelines
.
success
.
count
(
:all
)
@counts
[
:failed
]
=
@project
.
pipelines
.
failed
.
count
(
:all
)
@counts
[
:total
]
=
@project
.
all_
pipelines
.
count
(
:all
)
@counts
[
:success
]
=
@project
.
all_
pipelines
.
success
.
count
(
:all
)
@counts
[
:failed
]
=
@project
.
all_
pipelines
.
failed
.
count
(
:all
)
end
private
...
...
@@ -164,7 +164,7 @@
# rubocop: disable CodeReuse/ActiveRecord
def
pipeline
@pipeline
||=
project
.
pipelines
.
all_
pipelines
.
includes
(
user: :status
)
.
find_by!
(
id:
params
[
:id
])
.
present
(
current_user:
current_user
)
...
...
app/controllers/projects/tags_controller.rb
View file @
9f425804
...
...
@@ -20,7 +20,7 @@
@tags
=
Kaminari
.
paginate_array
(
@tags
).
page
(
params
[
:page
])
tag_names
=
@tags
.
map
(
&
:name
)
@tags_pipelines
=
@project
.
pipelines
.
latest_successful_for_refs
(
tag_names
)
@tags_pipelines
=
@project
.
ci_
pipelines
.
latest_successful_for_refs
(
tag_names
)
@releases
=
project
.
releases
.
where
(
tag:
tag_names
)
respond_to
do
|
format
|
...
...
app/finders/pipelines_finder.rb
View file @
9f425804
...
...
@@ -8,7 +8,7 @@
def
initialize
(
project
,
current_user
,
params
=
{})
@project
=
project
@current_user
=
current_user
@pipelines
=
project
.
pipelines
@pipelines
=
project
.
all_
pipelines
@params
=
params
end
...
...
app/models/ci/pipeline.rb
View file @
9f425804
...
...
@@ -12,10 +12,10 @@
include
AtomicInternalId
include
EnumWithNil
belongs_to
:project
,
inverse_of: :pipelines
belongs_to
:project
,
inverse_of: :
all_
pipelines
belongs_to
:user
belongs_to
:auto_canceled_by
,
class_name:
'Ci::Pipeline'
belongs_to
:pipeline_schedule
,
class_name:
'Ci::PipelineSchedule'
belongs_to
:merge_request
,
class_name:
'MergeRequest'
has_internal_id
:iid
,
scope: :project
,
presence:
false
,
init:
->
(
s
)
do
...
...
@@ -16,10 +16,10 @@
belongs_to
:user
belongs_to
:auto_canceled_by
,
class_name:
'Ci::Pipeline'
belongs_to
:pipeline_schedule
,
class_name:
'Ci::PipelineSchedule'
belongs_to
:merge_request
,
class_name:
'MergeRequest'
has_internal_id
:iid
,
scope: :project
,
presence:
false
,
init:
->
(
s
)
do
s
&
.
project
&
.
pipelines
&
.
maximum
(
:iid
)
||
s
&
.
project
&
.
pipelines
&
.
count
s
&
.
project
&
.
all_
pipelines
&
.
maximum
(
:iid
)
||
s
&
.
project
&
.
all_
pipelines
&
.
count
end
has_many
:stages
,
->
{
order
(
position: :asc
)
},
inverse_of: :pipeline
...
...
@@ -174,6 +174,7 @@
end
scope
:internal
,
->
{
where
(
source:
internal_sources
)
}
scope
:ci_sources
,
->
{
where
(
config_source:
ci_sources_values
)
}
scope
:sort_by_merge_request_pipelines
,
->
do
sql
=
'CASE ci_pipelines.source WHEN (?) THEN 0 ELSE 1 END, ci_pipelines.id DESC'
...
...
@@ -271,6 +272,10 @@
sources
.
reject
{
|
source
|
source
==
"external"
}.
values
end
def
self
.
ci_sources_values
config_sources
.
values_at
(
:repository_source
,
:auto_devops_source
,
:unknown_source
)
end
def
stages_count
statuses
.
select
(
:stage
).
distinct
.
count
end
...
...
app/models/commit.rb
View file @
9f425804
...
...
@@ -298,7 +298,7 @@
end
def
pipelines
project
.
pipelines
.
where
(
sha:
sha
)
project
.
ci_
pipelines
.
where
(
sha:
sha
)
end
def
last_pipeline
...
...
@@ -312,7 +312,7 @@
end
def
status_for_project
(
ref
,
pipeline_project
)
pipeline_project
.
pipelines
.
latest_status_per_commit
(
id
,
ref
)[
id
]
pipeline_project
.
ci_
pipelines
.
latest_status_per_commit
(
id
,
ref
)[
id
]
end
def
set_status_for_ref
(
ref
,
status
)
...
...
app/models/commit_collection.rb
View file @
9f425804
...
...
@@ -24,7 +24,7 @@
# Setting this status ahead of time removes the need for running a query for
# every commit we're displaying.
def
with_pipeline_status
statuses
=
project
.
pipelines
.
latest_status_per_commit
(
map
(
&
:id
),
ref
)
statuses
=
project
.
ci_
pipelines
.
latest_status_per_commit
(
map
(
&
:id
),
ref
)
each
do
|
commit
|
commit
.
set_status_for_ref
(
ref
,
statuses
[
commit
.
id
])
...
...
app/models/merge_request.rb
View file @
9f425804
...
...
@@ -1056,7 +1056,7 @@
def
all_pipelines
(
shas:
all_commit_shas
)
return
Ci
::
Pipeline
.
none
unless
source_project
@all_pipelines
||=
source_project
.
pipelines
@all_pipelines
||=
source_project
.
ci_
pipelines
.
where
(
sha:
shas
,
ref:
source_branch
)
.
where
(
merge_request:
[
nil
,
self
])
.
sort_by_merge_request_pipelines
...
...
@@ -1220,7 +1220,7 @@
end
def
base_pipeline
@base_pipeline
||=
project
.
pipelines
@base_pipeline
||=
project
.
ci_
pipelines
.
order
(
id: :desc
)
.
find_by
(
sha:
diff_base_sha
)
end
...
...
app/models/project.rb
View file @
9f425804
...
...
@@ -247,7 +247,17 @@
has_many
:container_repositories
,
dependent: :destroy
# rubocop:disable Cop/ActiveRecordDependent
has_many
:commit_statuses
has_many
:pipelines
,
class_name:
'Ci::Pipeline'
,
inverse_of: :project
# The relation :all_pipelines is intented to be used when we want to get the
# whole list of pipelines associated to the project
has_many
:all_pipelines
,
class_name:
'Ci::Pipeline'
,
inverse_of: :project
# The relation :ci_pipelines is intented to be used when we want to get only
# those pipeline which are directly related to CI. There are
# other pipelines, like webide ones, that we won't retrieve
# if we use this relation.
has_many
:ci_pipelines
,
->
{
Feature
.
enabled?
(
:pipeline_ci_sources_only
,
default_enabled:
true
)
?
ci_sources
:
all
},
class_name:
'Ci::Pipeline'
,
inverse_of: :project
has_many
:stages
,
class_name:
'Ci::Stage'
,
inverse_of: :project
# Ci::Build objects store data on the file system such as artifact files and
...
...
@@ -621,7 +631,7 @@
# ref can't be HEAD, can only be branch/tag name or SHA
def
latest_successful_builds_for
(
ref
=
default_branch
)
latest_pipeline
=
pipelines
.
latest_successful_for
(
ref
)
latest_pipeline
=
ci_
pipelines
.
latest_successful_for
(
ref
)
if
latest_pipeline
latest_pipeline
.
builds
.
latest
.
with_artifacts_archive
...
...
@@ -1376,7 +1386,7 @@
return
unless
sha
pipelines
.
order
(
id: :desc
).
find_by
(
sha:
sha
,
ref:
ref
)
ci_
pipelines
.
order
(
id: :desc
).
find_by
(
sha:
sha
,
ref:
ref
)
end
def
latest_successful_pipeline_for_default_branch
...
...
@@ -1385,8 +1395,8 @@
end
@latest_successful_pipeline_for_default_branch
=
pipelines
.
latest_successful_for
(
default_branch
)
ci_
pipelines
.
latest_successful_for
(
default_branch
)
end
def
latest_successful_pipeline_for
(
ref
=
nil
)
if
ref
&&
ref
!=
default_branch
...
...
@@ -1389,8 +1399,8 @@
end
def
latest_successful_pipeline_for
(
ref
=
nil
)
if
ref
&&
ref
!=
default_branch
pipelines
.
latest_successful_for
(
ref
)
ci_
pipelines
.
latest_successful_for
(
ref
)
else
latest_successful_pipeline_for_default_branch
end
...
...
app/models/project_services/pipelines_email_service.rb
View file @
9f425804
...
...
@@ -38,7 +38,7 @@
end
def
can_test?
project
.
pipelines
.
any?
project
.
ci_
pipelines
.
any?
end
def
test_data
(
project
,
user
)
...
...
@@ -42,7 +42,7 @@
end
def
test_data
(
project
,
user
)
data
=
Gitlab
::
DataBuilder
::
Pipeline
.
build
(
project
.
pipelines
.
last
)
data
=
Gitlab
::
DataBuilder
::
Pipeline
.
build
(
project
.
ci_
pipelines
.
last
)
data
[
:user
]
=
user
.
hook_attrs
data
end
...
...
app/services/ci/create_pipeline_service.rb
View file @
9f425804
...
...
@@ -78,7 +78,7 @@
# rubocop: disable CodeReuse/ActiveRecord
def
auto_cancelable_pipelines
project
.
pipelines
project
.
ci_
pipelines
.
where
(
ref:
pipeline
.
ref
)
.
where
.
not
(
id:
pipeline
.
id
)
.
where
.
not
(
sha:
project
.
commit
(
pipeline
.
ref
).
try
(
:id
))
...
...
app/services/projects/auto_devops/disable_service.rb
View file @
9f425804
...
...
@@ -34,7 +34,7 @@
end
def
auto_devops_pipelines
@auto_devops_pipelines
||=
project
.
pipelines
.
auto_devops_source
@auto_devops_pipelines
||=
project
.
ci_
pipelines
.
auto_devops_source
end
end
end
...
...
app/services/test_hooks/project_service.rb
View file @
9f425804
...
...
@@ -49,7 +49,7 @@
end
def
pipeline_events_data
pipeline
=
project
.
pipelines
.
first
pipeline
=
project
.
ci_
pipelines
.
first
throw
(
:validation_error
,
'Ensure the project has CI pipelines.'
)
unless
pipeline
.
present?
Gitlab
::
DataBuilder
::
Pipeline
.
build
(
pipeline
)
...
...
db/fixtures/development/14_pipelines.rb
View file @
9f425804
...
...
@@ -104,7 +104,7 @@
def
create_pipeline!
(
project
,
ref
,
commit
)
project
.
pipelines
.
create!
(
sha:
commit
.
id
,
ref:
ref
,
source: :push
)
project
.
ci_
pipelines
.
create!
(
sha:
commit
.
id
,
ref:
ref
,
source: :push
)
end
def
build_create!
(
pipeline
,
opts
=
{})
...
...
lib/api/commit_statuses.rb
View file @
9f425804
...
...
@@ -29,7 +29,7 @@
not_found!
(
'Commit'
)
unless
user_project
.
commit
(
params
[
:sha
])
pipelines
=
user_project
.
pipelines
.
where
(
sha:
params
[
:sha
])
pipelines
=
user_project
.
ci_
pipelines
.
where
(
sha:
params
[
:sha
])
statuses
=
::
CommitStatus
.
where
(
pipeline:
pipelines
)
statuses
=
statuses
.
latest
unless
to_boolean
(
params
[
:all
])
statuses
=
statuses
.
where
(
ref:
params
[
:ref
])
if
params
[
:ref
].
present?
...
...
@@ -75,7 +75,7 @@
pipeline
=
@project
.
pipeline_for
(
ref
,
commit
.
sha
)
unless
pipeline
pipeline
=
@project
.
pipelines
.
create!
(
pipeline
=
@project
.
ci_
pipelines
.
create!
(
source: :external
,
sha:
commit
.
sha
,
ref:
ref
,
...
...
lib/api/jobs.rb
View file @
9f425804
...
...
@@ -56,7 +56,7 @@
end
# rubocop: disable CodeReuse/ActiveRecord
get
':id/pipelines/:pipeline_id/jobs'
do
pipeline
=
user_project
.
pipelines
.
find
(
params
[
:pipeline_id
])
pipeline
=
user_project
.
ci_
pipelines
.
find
(
params
[
:pipeline_id
])
builds
=
pipeline
.
builds
builds
=
filter_builds
(
builds
,
params
[
:scope
])
builds
=
builds
.
preload
(
:job_artifacts_archive
,
:job_artifacts
,
project:
[
:namespace
])
...
...
lib/api/pipelines.rb
View file @
9f425804
...
...
@@ -130,7 +130,7 @@
helpers
do
def
pipeline
@pipeline
||=
user_project
.
pipelines
.
find
(
params
[
:pipeline_id
])
@pipeline
||=
user_project
.
ci_
pipelines
.
find
(
params
[
:pipeline_id
])
end
end
end
...
...
lib/gitlab/badge/coverage/report.rb
View file @
9f425804
...
...
@@ -14,7 +14,7 @@
@ref
=
ref
@job
=
job
@pipeline
=
@project
.
pipelines
.
latest_successful_for
(
@ref
)
@pipeline
=
@project
.
ci_
pipelines
.
latest_successful_for
(
@ref
)
end
def
entity
...
...
lib/gitlab/badge/pipeline/status.rb
View file @
9f425804
...
...
@@ -22,7 +22,7 @@
# rubocop: disable CodeReuse/ActiveRecord
def
status
@project
.
pipelines
@project
.
ci_
pipelines
.
where
(
sha:
@sha
)
.
latest_status
(
@ref
)
||
'unknown'
end
...
...
lib/gitlab/ci/charts.rb
View file @
9f425804
...
...
@@ -54,7 +54,7 @@
# rubocop: disable CodeReuse/ActiveRecord
def
collect
query
=
project
.
pipelines
query
=
project
.
all_
pipelines
.
where
(
"? >
#{
::
Ci
::
Pipeline
.
table_name
}
.created_at AND
#{
::
Ci
::
Pipeline
.
table_name
}
.created_at > ?"
,
@to
,
@from
)
# rubocop:disable GitlabSecurity/SqlInjection
totals_count
=
grouped_count
(
query
)
...
...
@@ -115,7 +115,7 @@
class
PipelineTime
<
Chart
def
collect
commits
=
project
.
pipelines
.
last
(
30
)
commits
=
project
.
all_
pipelines
.
last
(
30
)
commits
.
each
do
|
commit
|
@labels
<<
commit
.
short_sha
...
...
Prev
1
2
Next
Write
Preview
Supports
Markdown
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