summaryrefslogtreecommitdiff
path: root/lib/ci/gitlab_ci_yaml_processor.rb
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-06-14 13:04:21 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-06-14 13:04:21 +0200
commite8f09f02bf8b0053f276a8e5ce0bdd18c621a1a3 (patch)
treeecb574548147746c4c2dfedc8cde8029634e63d9 /lib/ci/gitlab_ci_yaml_processor.rb
parent3656a6edf37f9e24e6c080223cbfddff464e7962 (diff)
downloadgitlab-ce-e8f09f02bf8b0053f276a8e5ce0bdd18c621a1a3.tar.gz
Validate environment name with regex
Diffstat (limited to 'lib/ci/gitlab_ci_yaml_processor.rb')
-rw-r--r--lib/ci/gitlab_ci_yaml_processor.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb
index 66f1bcea4ff..b19ce4aaff9 100644
--- a/lib/ci/gitlab_ci_yaml_processor.rb
+++ b/lib/ci/gitlab_ci_yaml_processor.rb
@@ -214,8 +214,8 @@ module Ci
raise ValidationError, "#{name} job: when parameter should be on_success, on_failure or always"
end
- if job[:environment] && !validate_string(job[:environment])
- raise ValidationError, "#{name} job: environment should be a string"
+ if job[:environment] && !validate_environment(job[:environment])
+ raise ValidationError, "#{name} job: environment parameter #{Gitlab::Regex.environment_name_regex_message}"
end
end
@@ -322,6 +322,10 @@ module Ci
value.in?([true, false])
end
+ def validate_environment(value)
+ value.is_a?(String) && value =~ Gitlab::Regex.environment_name_regex
+ end
+
def process?(only_params, except_params, ref, tag, trigger_request)
if only_params.present?
return false unless matching?(only_params, ref, tag, trigger_request)