diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-08-31 14:56:25 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-08-31 14:56:25 +0200 |
commit | ef030709ebffdecdce67f2693d8c54669edfb7a7 (patch) | |
tree | c1115d74b7aa6c56150e97e05360d1c71e7ac3dc /lib | |
parent | 92673c2c63c5928279fdb1985357fa8596c97397 (diff) | |
download | gitlab-ce-ef030709ebffdecdce67f2693d8c54669edfb7a7.tar.gz |
Change kubernetes job policy allowed values
It is now possible to use `kubernetes: configured`.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ci/gitlab_ci_yaml_processor.rb | 5 | ||||
-rw-r--r-- | lib/gitlab/ci/config/entry/policy.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/ci/config/entry/validators.rb | 8 |
3 files changed, 11 insertions, 4 deletions
diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb index 5676618f7fd..434b8948f41 100644 --- a/lib/ci/gitlab_ci_yaml_processor.rb +++ b/lib/ci/gitlab_ci_yaml_processor.rb @@ -94,12 +94,11 @@ module Ci except_kubernetes = job.dig(:except, :kubernetes) [!only_kubernetes && !except_kubernetes, - only_kubernetes && has_kubernetes, - except_kubernetes && !has_kubernetes].any? + only_kubernetes && has_kubernetes, + except_kubernetes && !has_kubernetes].any? end end - def jobs_for_ref(ref, tag = false, source = nil) @jobs.select do |_, job| process?(job.dig(:only, :refs), job.dig(:except, :refs), ref, tag, source) diff --git a/lib/gitlab/ci/config/entry/policy.rb b/lib/gitlab/ci/config/entry/policy.rb index a8bba3d3ea4..922d568f0ab 100644 --- a/lib/gitlab/ci/config/entry/policy.rb +++ b/lib/gitlab/ci/config/entry/policy.rb @@ -33,7 +33,7 @@ module Gitlab with_options allow_nil: true do validates :refs, array_of_strings_or_regexps: true - validates :kubernetes, inclusion: { in: [true] } + validates :kubernetes, allowed_values: %w[configured] end end end diff --git a/lib/gitlab/ci/config/entry/validators.rb b/lib/gitlab/ci/config/entry/validators.rb index b2ca3c881e4..0159179f0a9 100644 --- a/lib/gitlab/ci/config/entry/validators.rb +++ b/lib/gitlab/ci/config/entry/validators.rb @@ -14,6 +14,14 @@ module Gitlab end end + class AllowedValuesValidator < ActiveModel::EachValidator + def validate_each(record, attribute, value) + unless options[:in].include?(value.to_s) + record.errors.add(attribute, "unknown value: #{value}") + end + end + end + class ArrayOfStringsValidator < ActiveModel::EachValidator include LegacyValidationHelpers |