summaryrefslogtreecommitdiff
path: root/lib/ci
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2015-11-09 12:18:00 +0100
committerKamil Trzcinski <ayufan@ayufan.eu>2015-11-10 12:51:50 +0100
commit97f58bae87dfcfb36d5a7a490b1c0983435a19f4 (patch)
tree6c4c8d2c35280c45d19f1e7f6d6bd769e05d5f41 /lib/ci
parentd0e3e823a2dd56260550aec648b0cbfae64543ae (diff)
downloadgitlab-ce-97f58bae87dfcfb36d5a7a490b1c0983435a19f4.tar.gz
Change artifacts syntax to allow uploading untracked files
Diffstat (limited to 'lib/ci')
-rw-r--r--lib/ci/gitlab_ci_yaml_processor.rb16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb
index 6f9af5388ca..2e2209031ee 100644
--- a/lib/ci/gitlab_ci_yaml_processor.rb
+++ b/lib/ci/gitlab_ci_yaml_processor.rb
@@ -160,11 +160,17 @@ module Ci
raise ValidationError, "#{name} job: except parameter should be an array of strings"
end
- if job[:artifacts] && !validate_array_of_strings(job[:artifacts])
- raise ValidationError, "#{name}: artifacts parameter should be an array of strings"
+ if job[:artifacts]
+ if job[:artifacts][:untracked] && !validate_boolean(job[:artifacts][:untracked])
+ raise ValidationError, "#{name} job: artifacts:untracked parameter should be an boolean"
+ end
+
+ if job[:artifacts][:paths] && !validate_array_of_strings(job[:artifacts][:paths])
+ raise ValidationError, "#{name} job: artifacts:paths parameter should be an array of strings"
+ end
end
- if job[:allow_failure] && !job[:allow_failure].in?([true, false])
+ if job[:allow_failure] && !validate_boolean(job[:allow_failure])
raise ValidationError, "#{name} job: allow_failure parameter should be an boolean"
end
@@ -187,6 +193,10 @@ module Ci
value.is_a?(String) || value.is_a?(Symbol)
end
+ def validate_boolean(value)
+ value.in?([true, false])
+ end
+
def process?(only_params, except_params, ref, tag)
if only_params.present?
return false unless matching?(only_params, ref, tag)