diff options
Diffstat (limited to 'spec/support/helpers/trace_helpers.rb')
-rw-r--r-- | spec/support/helpers/trace_helpers.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/support/helpers/trace_helpers.rb b/spec/support/helpers/trace_helpers.rb new file mode 100644 index 00000000000..9255715ff71 --- /dev/null +++ b/spec/support/helpers/trace_helpers.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module TraceHelpers + def create_legacy_trace(build, content) + File.open(legacy_trace_path(build), 'wb') { |stream| stream.write(content) } + end + + def create_legacy_trace_in_db(build, content) + build.update_column(:trace, content) + end + + def legacy_trace_path(build) + legacy_trace_dir = File.join(Settings.gitlab_ci.builds_path, + build.created_at.utc.strftime("%Y_%m"), + build.project_id.to_s) + + FileUtils.mkdir_p(legacy_trace_dir) + + File.join(legacy_trace_dir, "#{build.id}.log") + end + + def archived_trace_path(job_artifact) + disk_hash = Digest::SHA2.hexdigest(job_artifact.project_id.to_s) + creation_date = job_artifact.created_at.utc.strftime('%Y_%m_%d') + + File.join(Gitlab.config.artifacts.path, disk_hash[0..1], disk_hash[2..3], disk_hash, + creation_date, job_artifact.job_id.to_s, job_artifact.id.to_s, 'job.log') + end +end |