summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-23 13:51:34 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-23 13:51:34 +0200
commit1f320edb7721bcc86d26add7ba3fcbd185a1ca06 (patch)
tree489e212e446a31139ca298920f18a231f5c028b8
parent29b96d92c163d71fe5a0fdf37d6a3c57c51141cd (diff)
downloadgitlab-ce-1f320edb7721bcc86d26add7ba3fcbd185a1ca06.tar.gz
Minor refactorings in new CI configuration classes
-rw-r--r--lib/ci/gitlab_ci_yaml_processor.rb5
-rw-r--r--lib/gitlab/ci/config/node/configurable.rb2
-rw-r--r--lib/gitlab/ci/config/node/entry.rb3
-rw-r--r--lib/gitlab/ci/config/node/validator.rb2
-rw-r--r--spec/lib/gitlab/ci/config/node/validator_spec.rb4
5 files changed, 10 insertions, 6 deletions
diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb
index f0c3eae661e..e4710195687 100644
--- a/lib/ci/gitlab_ci_yaml_processor.rb
+++ b/lib/ci/gitlab_ci_yaml_processor.rb
@@ -91,6 +91,11 @@ module Ci
{
stage_idx: @stages.index(job[:stage]),
stage: job[:stage],
+ ##
+ # Refactoring note:
+ # - before script behaves differently than after script
+ # - after script returns an array of commands
+ # - before script should be a concatenated command
commands: [job[:before_script] || @before_script, job[:script]].flatten.compact.join("\n"),
tag_list: job[:tags] || [],
name: name,
diff --git a/lib/gitlab/ci/config/node/configurable.rb b/lib/gitlab/ci/config/node/configurable.rb
index 61e4f1cee2c..590cf3d7b70 100644
--- a/lib/gitlab/ci/config/node/configurable.rb
+++ b/lib/gitlab/ci/config/node/configurable.rb
@@ -52,7 +52,7 @@ module Gitlab
factory = Node::Factory.new(entry_class)
.with(description: metadata[:description])
- (@nodes ||= {}).merge!(symbol => factory)
+ (@nodes ||= {}).merge!(symbol.to_sym => factory)
end
end
end
diff --git a/lib/gitlab/ci/config/node/entry.rb b/lib/gitlab/ci/config/node/entry.rb
index e6f738b1795..08d8020f8e7 100644
--- a/lib/gitlab/ci/config/node/entry.rb
+++ b/lib/gitlab/ci/config/node/entry.rb
@@ -44,8 +44,7 @@ module Gitlab
end
def errors
- @validator.full_errors +
- nodes.map(&:errors).flatten
+ @validator.messages + nodes.flat_map(&:errors)
end
def value
diff --git a/lib/gitlab/ci/config/node/validator.rb b/lib/gitlab/ci/config/node/validator.rb
index 02edc9219c3..5f62d68710d 100644
--- a/lib/gitlab/ci/config/node/validator.rb
+++ b/lib/gitlab/ci/config/node/validator.rb
@@ -11,7 +11,7 @@ module Gitlab
@node = node
end
- def full_errors
+ def messages
errors.full_messages.map do |error|
"#{@node.key} #{error}".humanize
end
diff --git a/spec/lib/gitlab/ci/config/node/validator_spec.rb b/spec/lib/gitlab/ci/config/node/validator_spec.rb
index ad875d55384..aa55ce90b37 100644
--- a/spec/lib/gitlab/ci/config/node/validator_spec.rb
+++ b/spec/lib/gitlab/ci/config/node/validator_spec.rb
@@ -19,7 +19,7 @@ describe Gitlab::Ci::Config::Node::Validator do
it 'returns no errors' do
validator_instance.validate
- expect(validator_instance.full_errors).to be_empty
+ expect(validator_instance.messages).to be_empty
end
end
@@ -36,7 +36,7 @@ describe Gitlab::Ci::Config::Node::Validator do
it 'returns errors' do
validator_instance.validate
- expect(validator_instance.full_errors).not_to be_empty
+ expect(validator_instance.messages).not_to be_empty
end
end
end