Merge branch 'fix-ci-charts-error-500' into 'master'

Fix Error 500 in CI charts by gracefully handling commits with no durations

## What does this MR do?

In the CI charts, this MR reports the duration of a commit to 0 if it is `nil`.

## Are there points in the code the reviewer needs to double check?

Should we omit this commit from the chart or set it to some other value?

## Why was this MR needed?

We were getting an Error 500 here: https://gitlab.com/gitlab-org/gitlab-ce/graphs/master/ci

## What are the relevant issue numbers?

#17730 


See merge request !4245
This commit is contained in:
Robert Speicher 2016-05-23 16:55:59 +00:00
commit bc806831e8
3 changed files with 10 additions and 1 deletions

View File

@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date.
v 8.8.2 (unreleased)
- Fix Error 500 when accessing application settings due to nil disabled OAuth sign-in sources
- Fix Error 500 in CI charts by gracefully handling commits with no durations
v 8.8.1
- Add documentation for the "Health Check" feature

View File

@ -64,7 +64,8 @@ module Ci
commits.each do |commit|
@labels << commit.short_sha
@build_times << (commit.duration / 60)
duration = commit.duration || 0
@build_times << (duration / 60)
end
end
end

View File

@ -12,5 +12,12 @@ describe Ci::Charts, lib: true do
chart = Ci::Charts::BuildTime.new(@commit.project)
expect(chart.build_times).to eq([2])
end
it 'should handle nil build times' do
create(:ci_commit, duration: nil, project: @commit.project)
chart = Ci::Charts::BuildTime.new(@commit.project)
expect(chart.build_times).to eq([2, 0])
end
end
end