From 596b719f968815db92e2d13436dadbfbb6068dc6 Mon Sep 17 00:00:00 2001 From: Brad Rydzewski Date: Thu, 30 May 2019 16:29:11 -0700 Subject: [PATCH] retain ordering when converting merge keys --- CHANGELOG.md | 5 +++++ yaml/converter/legacy/internal/yaml.go | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e432b6..cbd6154 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +## [1.1.1] - 2019-05-30 +### Fixed +- Retain order of steps when converting legacy pipelines with merge keys, by [@bradrydzewski](https://github.com/bradrydzewski). + + ## [1.1.0] - 2019-05-30 ### Fixed - Support for yaml merge keys, by [@bradrydzewski](https://github.com/bradrydzewski). diff --git a/yaml/converter/legacy/internal/yaml.go b/yaml/converter/legacy/internal/yaml.go index 1e4f32a..0b1d33f 100644 --- a/yaml/converter/legacy/internal/yaml.go +++ b/yaml/converter/legacy/internal/yaml.go @@ -10,9 +10,14 @@ import ( "github.com/vinzenz/yaml" ) +type temporary struct { + Attributes map[string]interface{} `yaml:",inline"` + Pipeline yaml.MapSlice `yaml:"pipeline"` +} + // this is a helper function that expands merge keys func expandMergeKeys(b []byte) ([]byte, error) { - v := map[interface{}]interface{}{} + v := new(temporary) if err := yaml.Unmarshal(b, v); err != nil { return b, err }