diff --git a/lib/ci/gitlab_ci_yaml_processor.rb b/lib/ci/gitlab_ci_yaml_processor.rb
index f0c3eae661e17828fd257f9116160406f2347a22..e4710195687f20c1a5ddaf5ce9828f95a2de919c 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 61e4f1cee2cbcb5144b72cc640d8adb5606b413e..590cf3d7b70045bd5587c1ca6d61de9d14f51412 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 e6f738b17959c9c9f90272cc1cf0dff710c9b505..08d8020f8e79a23a4f500fd46ac2b9b1494dbd64 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 02edc9219c395330ee2fc6eac9bfbceb6373858c..5f62d68710ddefdea8ed45494a88e63137baed1b 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 ad875d553840bf6b0b0797e8d2c645fd8ae35edd..aa55ce90b37c55d585b789c4fa44689e67ac4ec2 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