Class: Gitlab::Ci::Trace::Archive
- Inherits:
-
Object
- Object
- Gitlab::Ci::Trace::Archive
- Includes:
- Checksummable, Utils::StrongMemoize
- Defined in:
- lib/gitlab/ci/trace/archive.rb
Instance Method Summary collapse
- #execute!(stream) ⇒ Object
-
#initialize(job, trace_metadata, metrics = ::Gitlab::Ci::Trace::Metrics.new) ⇒ Archive
constructor
A new instance of Archive.
Constructor Details
#initialize(job, trace_metadata, metrics = ::Gitlab::Ci::Trace::Metrics.new) ⇒ Archive
Returns a new instance of Archive.
10 11 12 13 14 |
# File 'lib/gitlab/ci/trace/archive.rb', line 10 def initialize(job, , metrics = ::Gitlab::Ci::Trace::Metrics.new) @job = job @trace_metadata = @metrics = metrics end |
Instance Method Details
#execute!(stream) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/gitlab/ci/trace/archive.rb', line 16 def execute!(stream) clone_file!(stream, JobArtifactUploader.workhorse_upload_path) do |clone_path| md5_checksum = self.class.md5_hexdigest(clone_path) unless Gitlab::FIPS.enabled? sha256_checksum = self.class.sha256_hexdigest(clone_path) job.transaction do self.trace_artifact = create_build_trace!(clone_path, sha256_checksum) .track_archival!(trace_artifact.id, md5_checksum) end end validate_archived_trace unless Gitlab::FIPS.enabled? end |