Merge pull request #60 from pelotech/lint-strictly

Pass --strict to `helm lint` when so instructed
This commit is contained in:
Erin Call 2020-01-02 12:27:00 -08:00 committed by GitHub
commit 3c44be059e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 17 additions and 6 deletions

View File

@ -19,6 +19,7 @@ Linting is only triggered when the `helm_command` setting is "lint".
| values | list\<string\> | | Chart values to use as the `--set` argument to `helm lint`. |
| string_values | list\<string\> | | Chart values to use as the `--set-string` argument to `helm lint`. |
| values_files | list\<string\> | | Values to use as `--values` arguments to `helm lint`. |
| lint_strictly | boolean | | Pass `--strict` to `helm lint`, to turn warnings into errors. |
## Installation

View File

@ -42,6 +42,7 @@ type Config struct {
Chart string `` // Chart argument to use in applicable helm commands
Release string `` // Release argument to use in applicable helm commands
Force bool `` // Pass --force to applicable helm commands
LintStrictly bool `split_words:"true"` // Pass --strict to `helm lint`
Stdout io.Writer `ignored:"true"`
Stderr io.Writer `ignored:"true"`

View File

@ -133,7 +133,8 @@ var lint = func(cfg Config) []Step {
steps = append(steps, depUpdate(cfg)...)
}
steps = append(steps, &run.Lint{
Chart: cfg.Chart,
Chart: cfg.Chart,
Strict: cfg.LintStrictly,
})
return steps

View File

@ -299,14 +299,16 @@ func (suite *PlanTestSuite) TestAddRepos() {
func (suite *PlanTestSuite) TestLint() {
cfg := Config{
Chart: "./flow",
Chart: "./flow",
LintStrictly: true,
}
steps := lint(cfg)
suite.Equal(1, len(steps))
want := &run.Lint{
Chart: "./flow",
Chart: "./flow",
Strict: true,
}
suite.Equal(want, steps[0])
}

View File

@ -6,8 +6,9 @@ import (
// Lint is an execution step that calls `helm lint` when executed.
type Lint struct {
Chart string
cmd cmd
Chart string
Strict bool
cmd cmd
}
// Execute executes the `helm lint` command.
@ -41,6 +42,9 @@ func (l *Lint) Prepare(cfg Config) error {
for _, vFile := range cfg.ValuesFiles {
args = append(args, "--values", vFile)
}
if l.Strict {
args = append(args, "--strict")
}
args = append(args, l.Chart)

View File

@ -87,7 +87,8 @@ func (suite *LintTestSuite) TestPrepareWithLintFlags() {
}
l := Lint{
Chart: "./uk/top_40",
Chart: "./uk/top_40",
Strict: true,
}
command = func(path string, args ...string) cmd {
@ -97,6 +98,7 @@ func (suite *LintTestSuite) TestPrepareWithLintFlags() {
"--set-string", "version=2.0",
"--values", "/usr/local/underrides",
"--values", "/usr/local/overrides",
"--strict",
"./uk/top_40"}, args)
return suite.mockCmd