summaryrefslogtreecommitdiff
path: root/lib/api/runner.rb
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2018-04-04 20:04:39 +0100
committerFilipa Lacerda <filipa@gitlab.com>2018-04-04 20:04:39 +0100
commit85b45ce94de94a85bb341d2978f1471a21b9a0ff (patch)
treeab65c6cfefc07fd2a65c20e15d7fda98047886bb /lib/api/runner.rb
parentdd3b1526af1675f7686f189ec41b8d919b6835a2 (diff)
parentcb5bb4dbc67c5dd43bb7b27faf79ca79f8ae3e1f (diff)
downloadgitlab-ce-85b45ce94de94a85bb341d2978f1471a21b9a0ff.tar.gz
[ci skip] Merge branch 'master' into 44427-state-management-with-vuex
* master: (544 commits) Bulk deleting refs is handled by Gitaly by default Allow assigning and filtering issuables by ancestor group labels Fix links to subdirectories of a directory with a plus character in its path Add banzai filter to detect commit message trailers and properly link the users Render MR commit SHA instead "diffs" when viable Fix a transient failure by removing unneeded expectations Revert changelog entry for removed feature Revert "Allow CI/CD Jobs being grouped on version strings" Add support for Sidekiq JSON logging Resolve "Protected branches count is wrong when a wildcard includes several protected branches" Remove unused form for admin application settings Use standard codequality job Resolve "Allow the configuration of a project's merge method via the API" Move the rest of application settings to expandable blocks [Rails5] Rename `sort` methods to `sort_by_attribute` Add better LDAP connection handling Updated components to PascalCase Handle invalid params when trying update_username Move network related app settings to expandable blocks [Rails5] Update Gemfile.rails5.lock [ci skip] ...
Diffstat (limited to 'lib/api/runner.rb')
-rw-r--r--lib/api/runner.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/api/runner.rb b/lib/api/runner.rb
index 7e6c33ec33d..834253d8e94 100644
--- a/lib/api/runner.rb
+++ b/lib/api/runner.rb
@@ -14,9 +14,10 @@ module API
optional :locked, type: Boolean, desc: 'Should Runner be locked for current project'
optional :run_untagged, type: Boolean, desc: 'Should Runner handle untagged jobs'
optional :tag_list, type: Array[String], desc: %q(List of Runner's tags)
+ optional :maximum_timeout, type: Integer, desc: 'Maximum timeout set when this Runner will handle the job'
end
post '/' do
- attributes = attributes_for_keys([:description, :locked, :run_untagged, :tag_list])
+ attributes = attributes_for_keys([:description, :locked, :run_untagged, :tag_list, :maximum_timeout])
.merge(get_runner_details_from_request)
runner =
@@ -207,6 +208,7 @@ module API
optional 'file.sha256', type: String, desc: %q(sha256 checksum of the file)
optional 'metadata.path', type: String, desc: %q(path to locally stored body (generated by Workhorse))
optional 'metadata.name', type: String, desc: %q(filename (generated by Workhorse))
+ optional 'metadata.sha256', type: String, desc: %q(sha256 checksum of the file)
end
post '/:id/artifacts' do
not_allowed! unless Gitlab.config.artifacts.enabled
@@ -226,7 +228,7 @@ module API
Gitlab::CurrentSettings.current_application_settings.default_artifacts_expire_in
job.build_job_artifacts_archive(project: job.project, file_type: :archive, file: artifacts, file_sha256: params['file.sha256'], expire_in: expire_in)
- job.build_job_artifacts_metadata(project: job.project, file_type: :metadata, file: metadata, expire_in: expire_in) if metadata
+ job.build_job_artifacts_metadata(project: job.project, file_type: :metadata, file: metadata, file_sha256: params['metadata.sha256'], expire_in: expire_in) if metadata
job.artifacts_expire_in = expire_in
if job.save
@@ -244,11 +246,12 @@ module API
params do
requires :id, type: Integer, desc: %q(Job's ID)
optional :token, type: String, desc: %q(Job's authentication token)
+ optional :direct_download, default: false, type: Boolean, desc: %q(Perform direct download from remote storage instead of proxying artifacts)
end
get '/:id/artifacts' do
job = authenticate_job!
- present_artifacts!(job.artifacts_file)
+ present_carrierwave_file!(job.artifacts_file, supports_direct_download: params[:direct_download])
end
end
end