diff options
Diffstat (limited to 'app/services/ci/append_build_trace_service.rb')
-rw-r--r-- | app/services/ci/append_build_trace_service.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/services/ci/append_build_trace_service.rb b/app/services/ci/append_build_trace_service.rb index 0eef0ff0e61..4432eecc24a 100644 --- a/app/services/ci/append_build_trace_service.rb +++ b/app/services/ci/append_build_trace_service.rb @@ -24,6 +24,11 @@ module Ci body_start = content_range[0].to_i body_end = body_start + body_data.bytesize + if first_debug_chunk?(body_start) + # Update the build metadata prior to appending trace content + build.enable_debug_trace! + end + if trace_size_exceeded?(body_end) build.drop(:trace_size_exceeded) @@ -45,10 +50,18 @@ module Ci delegate :project, to: :build + def first_debug_chunk?(body_start) + body_start == 0 && debug_trace + end + def stream_range params.fetch(:content_range) end + def debug_trace + params.fetch(:debug_trace, false) + end + def log_range_error(stream_size, body_end) extra = { build_id: build.id, |