mirror of
https://github.com/helm/helm.git
synced 2026-05-28 04:35:48 -04:00
Revert "fix (helm) : toToml` renders int as float [ backport to v3 ]"
This change has caused issues with numerous charts around things unrelated to toml. This is because of functions like typeIs/typeOf being used and acted upon. The change caused a significant regression. Closes #30880 Signed-off-by: Matt Farina <matt@mattfarina.com>
This commit is contained in:
parent
e6122aba27
commit
c5249c1f8d
8 changed files with 2 additions and 53 deletions
|
|
@ -161,11 +161,6 @@ func TestTemplateCmd(t *testing.T) {
|
|||
cmd: fmt.Sprintf("template '%s' -f %s/extra_values.yaml", chartPath, chartPath),
|
||||
golden: "output/template-subchart-cm-set-file.txt",
|
||||
},
|
||||
{
|
||||
name: "check toToml function rendering",
|
||||
cmd: fmt.Sprintf("template '%s'", "testdata/testcharts/issue-totoml"),
|
||||
golden: "output/issue-totoml.txt",
|
||||
},
|
||||
}
|
||||
runTestCmd(t, tests)
|
||||
}
|
||||
|
|
|
|||
8
cmd/helm/testdata/output/issue-totoml.txt
vendored
8
cmd/helm/testdata/output/issue-totoml.txt
vendored
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
# Source: issue-totoml/templates/configmap.yaml
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: issue-totoml
|
||||
data: |
|
||||
key = 13
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
apiVersion: v2
|
||||
name: issue-totoml
|
||||
version: 0.1.0
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: issue-totoml
|
||||
data: |
|
||||
{{ .Values.global | toToml }}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
global:
|
||||
key: 13
|
||||
|
|
@ -18,7 +18,6 @@ package loader
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
|
@ -105,10 +104,7 @@ func LoadFiles(files []*BufferedFile) (*chart.Chart, error) {
|
|||
}
|
||||
case f.Name == "values.yaml":
|
||||
c.Values = make(map[string]interface{})
|
||||
if err := yaml.Unmarshal(f.Data, &c.Values, func(d *json.Decoder) *json.Decoder {
|
||||
d.UseNumber()
|
||||
return d
|
||||
}); err != nil {
|
||||
if err := yaml.Unmarshal(f.Data, &c.Values); err != nil {
|
||||
return c, errors.Wrap(err, "cannot load values.yaml")
|
||||
}
|
||||
case f.Name == "values.schema.json":
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ limitations under the License.
|
|||
package chartutil
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
|
|
@ -238,20 +237,6 @@ func TestProcessDependencyImportValues(t *testing.T) {
|
|||
if b := strconv.FormatBool(pv); b != vv {
|
||||
t.Errorf("failed to match imported bool value %v with expected %v for key %q", b, vv, kk)
|
||||
}
|
||||
case json.Number:
|
||||
if fv, err := pv.Float64(); err == nil {
|
||||
if sfv := strconv.FormatFloat(fv, 'f', -1, 64); sfv != vv {
|
||||
t.Errorf("failed to match imported float value %v with expected %v for key %q", sfv, vv, kk)
|
||||
}
|
||||
}
|
||||
if iv, err := pv.Int64(); err == nil {
|
||||
if siv := strconv.FormatInt(iv, 10); siv != vv {
|
||||
t.Errorf("failed to match imported int value %v with expected %v for key %q", siv, vv, kk)
|
||||
}
|
||||
}
|
||||
if pv.String() != vv {
|
||||
t.Errorf("failed to match imported string value %q with expected %q for key %q", pv, vv, kk)
|
||||
}
|
||||
default:
|
||||
if pv != vv {
|
||||
t.Errorf("failed to match imported string value %q with expected %q for key %q", pv, vv, kk)
|
||||
|
|
@ -324,10 +309,6 @@ func TestProcessDependencyImportValuesMultiLevelPrecedence(t *testing.T) {
|
|||
if s := strconv.FormatFloat(pv, 'f', -1, 64); s != vv {
|
||||
t.Errorf("failed to match imported float value %v with expected %v", s, vv)
|
||||
}
|
||||
case json.Number:
|
||||
if pv.String() != vv {
|
||||
t.Errorf("failed to match imported string value %q with expected %q", pv, vv)
|
||||
}
|
||||
default:
|
||||
if pv != vv {
|
||||
t.Errorf("failed to match imported string value %q with expected %q", pv, vv)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ limitations under the License.
|
|||
package chartutil
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
|
|
@ -106,10 +105,7 @@ func tableLookup(v Values, simple string) (Values, error) {
|
|||
|
||||
// ReadValues will parse YAML byte data into a Values.
|
||||
func ReadValues(data []byte) (vals Values, err error) {
|
||||
err = yaml.Unmarshal(data, &vals, func(d *json.Decoder) *json.Decoder {
|
||||
d.UseNumber()
|
||||
return d
|
||||
})
|
||||
err = yaml.Unmarshal(data, &vals)
|
||||
if len(vals) == 0 {
|
||||
vals = Values{}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue