Merge pull request #8913 from cvila84/fork-lint-bug

do not check YAML if nothing was parsed
pull/8862/head
Martin Hickey 5 years ago committed by GitHub
commit 6ca989e777
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -122,6 +122,9 @@ func Templates(linter *support.Linter, values map[string]interface{}, namespace
// key will be raised as well // key will be raised as well
err := yaml.Unmarshal([]byte(renderedContent), &yamlStruct) err := yaml.Unmarshal([]byte(renderedContent), &yamlStruct)
if (K8sYamlStruct{}) == yamlStruct {
continue
}
// If YAML linting fails, we sill progress. So we don't capture the returned state // If YAML linting fails, we sill progress. So we don't capture the returned state
// on this linter run. // on this linter run.
linter.RunLinterRule(support.ErrorSev, fpath, validateYamlContent(err)) linter.RunLinterRule(support.ErrorSev, fpath, validateYamlContent(err))

@ -332,3 +332,37 @@ func TestValidateTopIndentLevel(t *testing.T) {
} }
} }
// TestEmptyWithCommentsManifests checks the lint is not failing against empty manifests that contains only comments
// See https://github.com/helm/helm/issues/8621
func TestEmptyWithCommentsManifests(t *testing.T) {
mychart := chart.Chart{
Metadata: &chart.Metadata{
APIVersion: "v2",
Name: "emptymanifests",
Version: "0.1.0",
Icon: "satisfy-the-linting-gods.gif",
},
Templates: []*chart.File{
{
Name: "templates/empty-with-comments.yaml",
Data: []byte("#@formatter:off\n"),
},
},
}
tmpdir := ensure.TempDir(t)
defer os.RemoveAll(tmpdir)
if err := chartutil.SaveDir(&mychart, tmpdir); err != nil {
t.Fatal(err)
}
linter := support.Linter{ChartDir: filepath.Join(tmpdir, mychart.Name())}
Templates(&linter, values, namespace, strict)
if l := len(linter.Messages); l > 0 {
for i, msg := range linter.Messages {
t.Logf("Message %d: %s", i, msg)
}
t.Fatalf("Expected 0 lint errors, got %d", l)
}
}

Loading…
Cancel
Save