Merge branch 'master' into values-arent-global

This commit is contained in:
Erin Call 2020-01-02 12:29:15 -08:00
commit 7b816ea257
No known key found for this signature in database
GPG key ID: 4071FF6C15B8DAD1
6 changed files with 14 additions and 1 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`. | | 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`. | | 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`. | | 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 ## Installation
@ -61,7 +62,9 @@ Uninstallations are triggered when the `helm_command` setting is "uninstall" or
### Where to put settings ### Where to put settings
Any setting can go in either the `settings` or `environment` section. Any setting can go in either the `settings` or `environment` section. If a setting exists in _both_ sections, the version in `environment` will override the version in `settings`.
We recommend putting all drone-helm3 configuration in the `settings` block and limiting the `environment` block to variables that are used when building your charts.
### Formatting non-string values ### Formatting non-string values

View file

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

View file

@ -137,6 +137,7 @@ var lint = func(cfg Config) []Step {
Values: cfg.Values, Values: cfg.Values,
StringValues: cfg.StringValues, StringValues: cfg.StringValues,
ValuesFiles: cfg.ValuesFiles, ValuesFiles: cfg.ValuesFiles,
Strict: cfg.LintStrictly,
}) })
return steps return steps

View file

@ -303,6 +303,7 @@ func (suite *PlanTestSuite) TestLint() {
Values: "steadfastness,forthrightness", Values: "steadfastness,forthrightness",
StringValues: "tensile_strength,flexibility", StringValues: "tensile_strength,flexibility",
ValuesFiles: []string{"/root/price_inventory.yml"}, ValuesFiles: []string{"/root/price_inventory.yml"},
LintStrictly: true,
} }
steps := lint(cfg) steps := lint(cfg)
@ -313,6 +314,7 @@ func (suite *PlanTestSuite) TestLint() {
Values: "steadfastness,forthrightness", Values: "steadfastness,forthrightness",
StringValues: "tensile_strength,flexibility", StringValues: "tensile_strength,flexibility",
ValuesFiles: []string{"/root/price_inventory.yml"}, ValuesFiles: []string{"/root/price_inventory.yml"},
Strict: true,
} }
suite.Equal(want, steps[0]) suite.Equal(want, steps[0])
} }

View file

@ -10,6 +10,7 @@ type Lint struct {
Values string Values string
StringValues string StringValues string
ValuesFiles []string ValuesFiles []string
Strict bool
cmd cmd cmd cmd
} }
@ -44,6 +45,9 @@ func (l *Lint) Prepare(cfg Config) error {
for _, vFile := range l.ValuesFiles { for _, vFile := range l.ValuesFiles {
args = append(args, "--values", vFile) args = append(args, "--values", vFile)
} }
if l.Strict {
args = append(args, "--strict")
}
args = append(args, l.Chart) args = append(args, l.Chart)

View file

@ -87,6 +87,7 @@ func (suite *LintTestSuite) TestPrepareWithLintFlags() {
Values: "width=5", Values: "width=5",
StringValues: "version=2.0", StringValues: "version=2.0",
ValuesFiles: []string{"/usr/local/underrides", "/usr/local/overrides"}, ValuesFiles: []string{"/usr/local/underrides", "/usr/local/overrides"},
Strict: true,
} }
command = func(path string, args ...string) cmd { command = func(path string, args ...string) cmd {
@ -96,6 +97,7 @@ func (suite *LintTestSuite) TestPrepareWithLintFlags() {
"--set-string", "version=2.0", "--set-string", "version=2.0",
"--values", "/usr/local/underrides", "--values", "/usr/local/underrides",
"--values", "/usr/local/overrides", "--values", "/usr/local/overrides",
"--strict",
"./uk/top_40"}, args) "./uk/top_40"}, args)
return suite.mockCmd return suite.mockCmd