Skip to content
Snippets Groups Projects
Commit 2a7f7f75 authored by Kamil Trzcinski's avatar Kamil Trzcinski
Browse files

Update handling of skipped status

parent ae24b257
Branches
Tags
2 merge requests!4779Test/#123 Master,!3653Ci::Commit becomes a Pipeline object
Pipeline #
Loading
Loading
@@ -116,7 +116,7 @@ module Ci
end
 
def retried?
!self.commit.latest.include?(self)
!self.commit.statuses.latest.include?(self)
end
 
def retry
Loading
Loading
Loading
Loading
@@ -114,16 +114,12 @@ module Ci
end
end
 
def latest
statuses.latest
end
def retried
@retried ||= (statuses.order(id: :desc) - statuses.latest)
end
 
def coverage
coverage_array = latest.map(&:coverage).compact
coverage_array = statuses.latest.map(&:coverage).compact
if coverage_array.size >= 1
'%.2f' % (coverage_array.reduce(:+) / coverage_array.size)
end
Loading
Loading
@@ -158,18 +154,15 @@ module Ci
private
 
def update_state
reload
self.status = if yaml_errors.present?
'failed'
statuses.reload
self.status = if yaml_errors.blank?
statuses.latest.status || 'skipped'
else
latest.status
end
self.started_at = statuses.minimum(:started_at)
self.finished_at = statuses.maximum(:finished_at)
self.duration = begin
duration_array = latest.map(&:duration).compact
duration_array.reduce(:+).to_i
'failed'
end
self.started_at = statuses.started_at
self.finished_at = statuses.finished_at
self.duration = statuses.latest.duration
save
end
 
Loading
Loading
Loading
Loading
@@ -15,7 +15,7 @@ module CiStatus
skipped = all.skipped.select('count(*)').to_sql
 
deduce_status = "(CASE
WHEN (#{builds})=0 THEN 'skipped'
WHEN (#{builds})=0 THEN NULL
WHEN (#{builds})=(#{success})+(#{ignored}) THEN 'success'
WHEN (#{builds})=(#{pending}) THEN 'pending'
WHEN (#{builds})=(#{canceled}) THEN 'canceled'
Loading
Loading
@@ -35,6 +35,14 @@ module CiStatus
duration_array = all.map(&:duration).compact
duration_array.reduce(:+).to_i
end
def started_at
all.minimum(:started_at)
end
def finished_at
all.minimum(:finished_at)
end
end
 
included do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment