summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-08-26 11:11:28 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-08-26 11:11:28 +0200
commit5ce9e03f6c015ab28aac1b3490acbf6f1c6f538f (patch)
tree307ff764dbfff3b3591be1c984ee5ef93d19de86
parent6a5097fd247f5d6fe7fe4efac38d685e5ef190ae (diff)
downloadgitlab-ce-5ce9e03f6c015ab28aac1b3490acbf6f1c6f538f.tar.gz
Use new complex only/except policy internal scheme
-rw-r--r--lib/ci/gitlab_ci_yaml_processor.rb2
-rw-r--r--lib/gitlab/ci/config/entry/policy.rb4
-rw-r--r--spec/lib/gitlab/ci/config/entry/policy_spec.rb4
3 files changed, 7 insertions, 3 deletions
diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb
index 3a4911b23b0..3efd9b3bdac 100644
--- a/lib/ci/gitlab_ci_yaml_processor.rb
+++ b/lib/ci/gitlab_ci_yaml_processor.rb
@@ -22,7 +22,7 @@ module Ci
def jobs_for_ref(ref, tag = false, source = nil)
@jobs.select do |_, job|
- process?(job[:only], job[:except], ref, tag, source)
+ process?(job.dig(:only, :refs), job.dig(:except, :refs), ref, tag, source)
end
end
diff --git a/lib/gitlab/ci/config/entry/policy.rb b/lib/gitlab/ci/config/entry/policy.rb
index 05602f1b3c6..bcb76de65b2 100644
--- a/lib/gitlab/ci/config/entry/policy.rb
+++ b/lib/gitlab/ci/config/entry/policy.rb
@@ -15,6 +15,10 @@ module Gitlab
validations do
validates :config, array_of_strings_or_regexps: true
end
+
+ def value
+ { refs: @config }
+ end
end
class ExpressionsPolicy < Entry::Node
diff --git a/spec/lib/gitlab/ci/config/entry/policy_spec.rb b/spec/lib/gitlab/ci/config/entry/policy_spec.rb
index ccf885969fb..a7dae11cee7 100644
--- a/spec/lib/gitlab/ci/config/entry/policy_spec.rb
+++ b/spec/lib/gitlab/ci/config/entry/policy_spec.rb
@@ -16,8 +16,8 @@ describe Gitlab::Ci::Config::Entry::Policy do
end
describe '#value' do
- it 'returns key value' do
- expect(entry.value).to eq config
+ it 'returns refs hash' do
+ expect(entry.value).to eq(refs: config)
end
end
end