diff options
Diffstat (limited to 'lib/gitlab/ci')
-rw-r--r-- | lib/gitlab/ci/trace.rb | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/lib/gitlab/ci/trace.rb b/lib/gitlab/ci/trace.rb index baf55b1fa07..a6827d7a38a 100644 --- a/lib/gitlab/ci/trace.rb +++ b/lib/gitlab/ci/trace.rb @@ -52,12 +52,14 @@ module Gitlab end def exist? - current_path.present? || old_trace.present? + trace_artifact&.exists? || current_path.present? || old_trace.present? end def read stream = Gitlab::Ci::Trace::Stream.new do - if current_path + if trace_artifact + trace_artifact.open + elsif current_path File.open(current_path, "rb") elsif old_trace StringIO.new(old_trace) @@ -104,12 +106,6 @@ module Gitlab end end - def current_path - @current_path ||= paths.find do |trace_path| - File.exist?(trace_path) - end - end - def paths [ default_path, @@ -117,6 +113,12 @@ module Gitlab ].compact end + def current_path + @current_path ||= paths.find do |trace_path| + File.exist?(trace_path) + end + end + def default_directory File.join( Settings.gitlab_ci.builds_path, @@ -137,6 +139,10 @@ module Gitlab "#{job.id}.log" ) if job.project&.ci_id end + + def trace_artifact + job.job_artifacts_trace + end end end end |