summaryrefslogtreecommitdiff
path: root/lib/api
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2017-12-05 14:30:59 +0000
committerGrzegorz Bizon <grzegorz@gitlab.com>2017-12-05 14:30:59 +0000
commit003a816afa885d56aa1eb4aadbad2b13b1baa25b (patch)
treeba40a1da8ce0c3844ba1ebf0abbffc4ab66d599d /lib/api
parent29be9c1acc9523a513ce32d8a56298db1a038873 (diff)
parent9711b34491d5cfd6eb2bf379f43dbbcd629a572c (diff)
downloadgitlab-ce-003a816afa885d56aa1eb4aadbad2b13b1baa25b.tar.gz
Merge branch 'zj-multiple-artifacts' into 'master'
Multiple artifacts See merge request gitlab-org/gitlab-ce!14367
Diffstat (limited to 'lib/api')
-rw-r--r--lib/api/entities.rb6
-rw-r--r--lib/api/runner.rb10
2 files changed, 7 insertions, 9 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 7cec8da013d..62ee20bf7de 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -1050,13 +1050,9 @@ module API
expose :type, :url, :username, :password
end
- class ArtifactFile < Grape::Entity
- expose :filename, :size
- end
-
class Dependency < Grape::Entity
expose :id, :name, :token
- expose :artifacts_file, using: ArtifactFile, if: ->(job, _) { job.artifacts? }
+ expose :artifacts_file, using: JobArtifactFile, if: ->(job, _) { job.artifacts? }
end
class Response < Grape::Entity
diff --git a/lib/api/runner.rb b/lib/api/runner.rb
index a3987c560dd..80feb629d54 100644
--- a/lib/api/runner.rb
+++ b/lib/api/runner.rb
@@ -215,18 +215,20 @@ module API
job = authenticate_job!
forbidden!('Job is not running!') unless job.running?
- artifacts_upload_path = ArtifactUploader.artifacts_upload_path
+ artifacts_upload_path = JobArtifactUploader.artifacts_upload_path
artifacts = uploaded_file(:file, artifacts_upload_path)
metadata = uploaded_file(:metadata, artifacts_upload_path)
bad_request!('Missing artifacts file!') unless artifacts
file_to_large! unless artifacts.size < max_artifacts_size
- job.artifacts_file = artifacts
- job.artifacts_metadata = metadata
- job.artifacts_expire_in = params['expire_in'] ||
+ expire_in = params['expire_in'] ||
Gitlab::CurrentSettings.current_application_settings.default_artifacts_expire_in
+ job.build_job_artifacts_archive(project: job.project, file_type: :archive, file: artifacts, expire_in: expire_in)
+ job.build_job_artifacts_metadata(project: job.project, file_type: :metadata, file: metadata, expire_in: expire_in) if metadata
+ job.artifacts_expire_in = expire_in
+
if job.save
present job, with: Entities::JobRequest::Response
else