diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-06-29 10:39:04 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-06-29 10:48:52 +0300 |
commit | f4421817de474cda3598eac8cad0752d324608e1 (patch) | |
tree | 4935583216feb1a3b53e34b45650a7b4dc49c08e /lib/gitlab | |
parent | 92312786f13c72188abbbe4f0b6cbdd36de2331d (diff) |
Add global cache config entry to new CI config
Diffstat (limited to 'lib/gitlab')
-rw-r--r-- | lib/gitlab/ci/config/node/cache.rb | 3 | ||||
-rw-r--r-- | lib/gitlab/ci/config/node/configurable.rb | 5 | ||||
-rw-r--r-- | lib/gitlab/ci/config/node/entry.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/ci/config/node/global.rb | 7 | ||||
-rw-r--r-- | lib/gitlab/ci/config/node/validator.rb | 6 |
5 files changed, 19 insertions, 6 deletions
diff --git a/lib/gitlab/ci/config/node/cache.rb b/lib/gitlab/ci/config/node/cache.rb index 251d7aa9097..01a9ef511ee 100644 --- a/lib/gitlab/ci/config/node/cache.rb +++ b/lib/gitlab/ci/config/node/cache.rb @@ -27,7 +27,8 @@ module Gitlab def keys if unknown_keys.any? - errors.add(:config, "contains unknown keys #{unknown_keys}") + unknown_list = unknown_keys.join(', ') + errors.add(:config, "contains unknown keys: #{unknown_list}") end end end diff --git a/lib/gitlab/ci/config/node/configurable.rb b/lib/gitlab/ci/config/node/configurable.rb index 46a473ad092..4889a21a234 100644 --- a/lib/gitlab/ci/config/node/configurable.rb +++ b/lib/gitlab/ci/config/node/configurable.rb @@ -26,7 +26,10 @@ module Gitlab private def create_node(key, factory) - factory.with(value: @config[key], key: key) + factory.with(value: @config[key]) + factory.with(parent: self) + factory.with(key: key) + factory.create! end diff --git a/lib/gitlab/ci/config/node/entry.rb b/lib/gitlab/ci/config/node/entry.rb index 17d04fbdfec..985d1705191 100644 --- a/lib/gitlab/ci/config/node/entry.rb +++ b/lib/gitlab/ci/config/node/entry.rb @@ -34,6 +34,10 @@ module Gitlab self.class.nodes.none? end + def ancestors + @parent ? @parent.ancestors + [@parent] : [] + end + def valid? errors.none? end diff --git a/lib/gitlab/ci/config/node/global.rb b/lib/gitlab/ci/config/node/global.rb index 4ca379712c6..65919ef1eeb 100644 --- a/lib/gitlab/ci/config/node/global.rb +++ b/lib/gitlab/ci/config/node/global.rb @@ -30,8 +30,11 @@ module Gitlab node :types, Stages, description: 'Stages for this pipeline (deprecated key).' - helpers :before_script, :image, :services, :after_script, :variables, - :stages, :types + node :cache, Cache, + description: 'Configure caching between build jobs.' + + helpers :before_script, :image, :services, :after_script, + :variables, :stages, :types, :cache def stages stages_defined? ? stages_value : types_value diff --git a/lib/gitlab/ci/config/node/validator.rb b/lib/gitlab/ci/config/node/validator.rb index d898d521548..94a8af4d080 100644 --- a/lib/gitlab/ci/config/node/validator.rb +++ b/lib/gitlab/ci/config/node/validator.rb @@ -13,7 +13,7 @@ module Gitlab def messages errors.full_messages.map do |error| - "#{location} #{error}".humanize + "#{location} #{error}".downcase end end @@ -24,7 +24,9 @@ module Gitlab private def location - key || @node.class.name.demodulize.underscore + predecessors = ancestors.map(&:key).compact + current = key || @node.class.name.demodulize.underscore + predecessors.append(current).join(':') end end end |