diff options
Diffstat (limited to 'lib/gitlab/ci/ansi2json/line.rb')
-rw-r--r-- | lib/gitlab/ci/ansi2json/line.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/gitlab/ci/ansi2json/line.rb b/lib/gitlab/ci/ansi2json/line.rb index 466706384c0..8f2d47e7ccc 100644 --- a/lib/gitlab/ci/ansi2json/line.rb +++ b/lib/gitlab/ci/ansi2json/line.rb @@ -76,8 +76,14 @@ module Gitlab @section_header = true end - def set_section_duration(duration) - @section_duration = Time.at(duration.to_i).utc.strftime('%M:%S') + def set_section_duration(duration_in_seconds) + duration = ActiveSupport::Duration.build(duration_in_seconds.to_i) + hours = duration.in_hours.floor + hours = hours > 0 ? "%02d" % hours : nil + minutes = "%02d" % duration.parts[:minutes].to_i + seconds = "%02d" % duration.parts[:seconds].to_i + + @section_duration = [hours, minutes, seconds].compact.join(':') end def flush_current_segment! |