Merge pull request #709 from technosophos/fix/lint-err-missing-chart

fix(helm): stop processing if lint can't find a chart
pull/714/head
Matt Butcher 9 years ago
commit 1242211f60

@ -1,7 +1,10 @@
package main package main
import ( import (
"errors"
"fmt" "fmt"
"os"
"path/filepath"
"github.com/kubernetes/helm/pkg/lint" "github.com/kubernetes/helm/pkg/lint"
"github.com/spf13/cobra" "github.com/spf13/cobra"
@ -20,20 +23,29 @@ var lintCommand = &cobra.Command{
Use: "lint [flags] PATH", Use: "lint [flags] PATH",
Short: "Examines a chart for possible issues", Short: "Examines a chart for possible issues",
Long: longLintHelp, Long: longLintHelp,
Run: lintCmd, RunE: lintCmd,
} }
func init() { func init() {
RootCommand.AddCommand(lintCommand) RootCommand.AddCommand(lintCommand)
} }
func lintCmd(cmd *cobra.Command, args []string) { var errLintNoChart = errors.New("no chart found for linting (missing Chart.yaml).")
func lintCmd(cmd *cobra.Command, args []string) error {
path := "." path := "."
if len(args) > 0 { if len(args) > 0 {
path = args[0] path = args[0]
} }
// Guard: Error out of this is not a chart.
if _, err := os.Stat(filepath.Join(path, "Chart.yaml")); err != nil {
return errLintNoChart
}
issues := lint.All(path) issues := lint.All(path)
for _, i := range issues { for _, i := range issues {
fmt.Printf("%s\n", i) fmt.Printf("%s\n", i)
} }
return nil
} }

Loading…
Cancel
Save