Fix broken pipeline rendering [ci skip]
This commit is contained in:
parent
4e06818d33
commit
fa1105b10b
|
@ -21,8 +21,6 @@ module Ci
|
||||||
|
|
||||||
after_create :keep_around_commits, unless: :importing?
|
after_create :keep_around_commits, unless: :importing?
|
||||||
|
|
||||||
delegate :stages, to: :statuses
|
|
||||||
|
|
||||||
state_machine :status, initial: :created do
|
state_machine :status, initial: :created do
|
||||||
event :enqueue do
|
event :enqueue do
|
||||||
transition created: :pending
|
transition created: :pending
|
||||||
|
@ -102,15 +100,19 @@ module Ci
|
||||||
where.not(duration: nil).sum(:duration)
|
where.not(duration: nil).sum(:duration)
|
||||||
end
|
end
|
||||||
|
|
||||||
def stages
|
def stages_query
|
||||||
statuses.group('stage').select(:stage)
|
statuses.group('stage').select(:stage)
|
||||||
.order('max(stage_idx)')
|
.order('max(stage_idx)')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def stages
|
||||||
|
self.stages_query.pluck(:stage)
|
||||||
|
end
|
||||||
|
|
||||||
def stages_with_statuses
|
def stages_with_statuses
|
||||||
status_sql = statuses.latest.where('stage=sg.stage').status_sql
|
status_sql = statuses.latest.where('stage=sg.stage').status_sql
|
||||||
|
|
||||||
stages_with_statuses = CommitStatus.from(self.stages, :sg).
|
stages_with_statuses = CommitStatus.from(self.stages_query, :sg).
|
||||||
pluck('sg.stage', status_sql)
|
pluck('sg.stage', status_sql)
|
||||||
|
|
||||||
stages_with_statuses.map do |stage|
|
stages_with_statuses.map do |stage|
|
||||||
|
|
|
@ -43,16 +43,13 @@
|
||||||
- else
|
- else
|
||||||
Cant find HEAD commit for this branch
|
Cant find HEAD commit for this branch
|
||||||
|
|
||||||
- stages_status = pipeline.statuses.latest.stages_status
|
|
||||||
%td.stage-cell
|
%td.stage-cell
|
||||||
- pipeline.statuses.latest.stages_status.each do |stage|
|
- pipeline.stages_with_statuses.each do |stage|
|
||||||
- name = stage.first
|
- if stage.status
|
||||||
- status = stage.last
|
- tooltip = "#{stage.name.titleize}: #{stage.status || 'not found'}"
|
||||||
- tooltip = "#{name.titleize}: #{status || 'not found'}"
|
|
||||||
- if status
|
|
||||||
.stage-container
|
.stage-container
|
||||||
= link_to namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id, anchor: stage), class: "has-tooltip ci-status-icon-#{status}", title: tooltip do
|
= link_to namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id, anchor: stage.name), class: "has-tooltip ci-status-icon-#{stage.status}", title: tooltip do
|
||||||
= ci_icon_for_status(status)
|
= ci_icon_for_status(stage.status)
|
||||||
|
|
||||||
%td
|
%td
|
||||||
- if pipeline.duration
|
- if pipeline.duration
|
||||||
|
|
Loading…
Reference in New Issue