Skip to content
Snippets Groups Projects
Commit 036c9c58 authored by Kamil Trzcińśki's avatar Kamil Trzcińśki
Browse files

Limit parallel to 100

This prevents some of the abusive behaviors, of someone putting 100000 and creating out of memory condition easily
parent b3b9817e
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -1510,7 +1510,7 @@ Possible values for `when` are:
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22631) in GitLab 11.5.
 
`parallel` allows you to configure how many instances of a job to run in
parallel. This value has to be greater than or equal to two (2).
parallel. This value has to be greater than or equal to two (2) and less or equal than 50.
 
This creates N instances of the same job that run in parallel. They're named
sequentially from `job_name 1/N` to `job_name N/N`.
Loading
Loading
Loading
Loading
@@ -27,7 +27,8 @@ module Gitlab
validates :tags, array_of_strings: true
validates :allow_failure, boolean: true
validates :parallel, numericality: { only_integer: true,
greater_than_or_equal_to: 2 }
greater_than_or_equal_to: 2,
less_than_or_equal_to: 50 }
validates :when,
inclusion: { in: %w[on_success on_failure always manual delayed],
message: 'should be on_success, on_failure, ' \
Loading
Loading
Loading
Loading
@@ -118,6 +118,16 @@ describe Gitlab::Ci::Config::Entry::Job do
end
end
 
context 'when it is bigger than 50' do
let(:config) { { parallel: 51 } }
it 'returns error about value too high' do
expect(entry).not_to be_valid
expect(entry.errors)
.to include 'job parallel must be less than or equal to 50'
end
end
context 'when it is not an integer' do
let(:config) { { parallel: 1.5 } }
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment