summaryrefslogtreecommitdiff
path: root/app/models/ci/build.rb
diff options
context:
space:
mode:
authorJames Edwards-Jones <jedwardsjones@gitlab.com>2017-02-03 17:25:26 +0000
committerJames Edwards-Jones <jedwardsjones@gitlab.com>2017-02-03 17:25:26 +0000
commit1af3f3b673be8f85b37d455b101954e62c2a3add (patch)
tree56f09bef2ca41964fae3efaf4f15be7fe1640ba4 /app/models/ci/build.rb
parent67c8526033241f6bd190fa16622970b3919e6dbd (diff)
parentbd8f2b15b3d5267075a626ce86f3a06cc650fcbf (diff)
downloadgitlab-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.rb32
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