Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-29 10:39:04 +0300
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-29 10:48:52 +0300
commitf4421817de474cda3598eac8cad0752d324608e1 (patch)
tree4935583216feb1a3b53e34b45650a7b4dc49c08e /lib/gitlab
parent92312786f13c72188abbbe4f0b6cbdd36de2331d (diff)
Add global cache config entry to new CI config
Diffstat (limited to 'lib/gitlab')
-rw-r--r--lib/gitlab/ci/config/node/cache.rb3
-rw-r--r--lib/gitlab/ci/config/node/configurable.rb5
-rw-r--r--lib/gitlab/ci/config/node/entry.rb4
-rw-r--r--lib/gitlab/ci/config/node/global.rb7
-rw-r--r--lib/gitlab/ci/config/node/validator.rb6
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