summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2018-07-20 13:01:25 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2018-07-20 13:01:25 +0000
commit470e526a2053a9a1b726380d851679d30fe46ea7 (patch)
tree70e71972873145323862891f65b4783080f75f7d /lib
parent3bd8a783e8e91cc863655a46c02f8c3391f2a1a4 (diff)
parent200766051ef241ee45a70d5db5c6b9eb8a1c72af (diff)
downloadgitlab-ce-470e526a2053a9a1b726380d851679d30fe46ea7.tar.gz
Merge branch 'fix/gb/fix-deserializing-ci-yaml-variables' into 'master'
Fix deserializing YAML variables when a build has been imported Closes #49406 See merge request gitlab-org/gitlab-ce!20713
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/ci/variables/collection/item.rb2
-rw-r--r--lib/gitlab/serializer/ci/variables.rb5
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/gitlab/ci/variables/collection/item.rb b/lib/gitlab/ci/variables/collection/item.rb
index 222aa06b800..7da6d09d440 100644
--- a/lib/gitlab/ci/variables/collection/item.rb
+++ b/lib/gitlab/ci/variables/collection/item.rb
@@ -34,7 +34,7 @@ module Gitlab
def self.fabricate(resource)
case resource
when Hash
- self.new(resource)
+ self.new(resource.symbolize_keys)
when ::HasVariable
self.new(resource.to_runner_variable)
when self
diff --git a/lib/gitlab/serializer/ci/variables.rb b/lib/gitlab/serializer/ci/variables.rb
index c059c454eac..292c8de6229 100644
--- a/lib/gitlab/serializer/ci/variables.rb
+++ b/lib/gitlab/serializer/ci/variables.rb
@@ -13,8 +13,9 @@ module Gitlab
object = YAML.safe_load(string, [Symbol])
object.map do |variable|
- variable[:key] = variable[:key].to_s
- variable
+ variable.symbolize_keys.tap do |variable|
+ variable[:key] = variable[:key].to_s
+ end
end
end