diff options
author | James Edwards-Jones <jedwardsjones@gitlab.com> | 2017-02-03 17:25:26 +0000 |
---|---|---|
committer | James Edwards-Jones <jedwardsjones@gitlab.com> | 2017-02-03 17:25:26 +0000 |
commit | 1af3f3b673be8f85b37d455b101954e62c2a3add (patch) | |
tree | 56f09bef2ca41964fae3efaf4f15be7fe1640ba4 /app/models/ci/build.rb | |
parent | 67c8526033241f6bd190fa16622970b3919e6dbd (diff) | |
parent | bd8f2b15b3d5267075a626ce86f3a06cc650fcbf (diff) | |
download | gitlab-ce-1af3f3b673be8f85b37d455b101954e62c2a3add.tar.gz |
Merge branch 'master' into jej-pages-picked-from-ee
Diffstat (limited to 'app/models/ci/build.rb')
-rw-r--r-- | app/models/ci/build.rb | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index da8e66e5f6e..44d4fb9d8d8 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -275,29 +275,23 @@ module Ci end def update_coverage - return unless project - coverage_regex = project.build_coverage_regex - return unless coverage_regex coverage = extract_coverage(trace, coverage_regex) - - if coverage.is_a? Numeric - update_attributes(coverage: coverage) - end + update_attributes(coverage: coverage) if coverage.present? end def extract_coverage(text, regex) - begin - matches = text.scan(Regexp.new(regex)).last - matches = matches.last if matches.kind_of?(Array) - coverage = matches.gsub(/\d+(\.\d+)?/).first + return unless regex - if coverage.present? - coverage.to_f - end - rescue - # if bad regex or something goes wrong we dont want to interrupt transition - # so we just silentrly ignore error for now + matches = text.scan(Regexp.new(regex)).last + matches = matches.last if matches.kind_of?(Array) + coverage = matches.gsub(/\d+(\.\d+)?/).first + + if coverage.present? + coverage.to_f end + rescue + # if bad regex or something goes wrong we dont want to interrupt transition + # so we just silentrly ignore error for now end def has_trace_file? @@ -523,6 +517,10 @@ module Ci self.update(artifacts_expire_at: nil) end + def coverage_regex + super || project.try(:build_coverage_regex) + end + def when read_attribute(:when) || build_attributes_from_config[:when] || 'on_success' end |