summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-02-24 01:44:45 +0900
committerShinya Maeda <shinya@gitlab.com>2018-02-24 01:44:45 +0900
commitaa603812e3d4917107af69d114ea1ab4050aebb7 (patch)
tree42096b2dc66a6a8b6d46aecca9699f4c22d918aa
parent76d70841926d21832040d6e7801ed67a7e7f88ee (diff)
downloadgitlab-ce-aa603812e3d4917107af69d114ea1ab4050aebb7.tar.gz
Bring back the initial commit
-rw-r--r--app/services/ci/create_trace_artifact_service.rb27
-rw-r--r--spec/services/ci/create_trace_artifact_service_spec.rb12
2 files changed, 14 insertions, 25 deletions
diff --git a/app/services/ci/create_trace_artifact_service.rb b/app/services/ci/create_trace_artifact_service.rb
index baa33de2857..3a6d0f6f8e5 100644
--- a/app/services/ci/create_trace_artifact_service.rb
+++ b/app/services/ci/create_trace_artifact_service.rb
@@ -4,29 +4,30 @@ module Ci
return if job.job_artifacts_trace
job.trace.read do |stream|
- return unless stream.file? # rubocop:disable Lint/NonLocalExitFromIterator
+ break unless stream.file?
- temp_file!(stream.path, JobArtifactUploader.workhorse_upload_path) do |temp_path|
- job.create_job_artifacts_trace!(
- project: job.project,
- file_type: :trace,
- file: UploadedFile.new(temp_path, 'job.log', 'application/octet-stream')
- )
+ temp_file!(JobArtifactUploader.workhorse_upload_path) do |temp_path|
+ FileUtils.cp(stream.path, temp_path)
+ create_job_trace!(job, temp_path)
+ FileUtils.rm(stream.path)
end
-
- raise 'Trace artifact not found' unless job.job_artifacts_trace.file.exists?
-
- FileUtils.rm(stream.path)
end
end
private
- def temp_file!(src_file, temp_dir)
+ def create_job_trace!(job, path)
+ job.create_job_artifacts_trace!(
+ project: job.project,
+ file_type: :trace,
+ file: UploadedFile.new(path, 'job.log', 'application/octet-stream')
+ )
+ end
+
+ def temp_file!(temp_dir)
FileUtils.mkdir_p(temp_dir)
temp_file = Tempfile.new('trace-tmp-', temp_dir)
temp_file&.close
- FileUtils.cp(src_file, temp_file.path)
yield(temp_file.path)
ensure
temp_file&.close
diff --git a/spec/services/ci/create_trace_artifact_service_spec.rb b/spec/services/ci/create_trace_artifact_service_spec.rb
index dc22165c9e2..8c5e8e438c7 100644
--- a/spec/services/ci/create_trace_artifact_service_spec.rb
+++ b/spec/services/ci/create_trace_artifact_service_spec.rb
@@ -41,18 +41,6 @@ describe Ci::CreateTraceArtifactService do
expect(job.job_artifacts_trace).to be_nil
end
end
-
- context 'when migrated trace artifact file is not found' do
- before do
- allow_any_instance_of(CarrierWave::SanitizedFile).to receive(:exists?) { false }
- end
-
- it 'raises an error' do
- expect { subject }.to raise_error('Trace artifact not found')
-
- expect(File.exist?(legacy_path)).to be_truthy
- end
- end
end
context 'when the job does not have a trace file' do