diff --git a/cli/catalogue/catalogue.go b/cli/catalogue/catalogue.go index 3a5dc7d665..3aaebe0912 100644 --- a/cli/catalogue/catalogue.go +++ b/cli/catalogue/catalogue.go @@ -94,7 +94,7 @@ keys configured on your account. Action: func(c *cli.Context) error { recipeName := c.Args().First() if recipeName != "" { - internal.ValidateRecipe(c) + internal.ValidateRecipe(c, true) } repos, err := recipe.ReadReposMetadata() diff --git a/cli/internal/validate.go b/cli/internal/validate.go index 56af1375da..a41063feb8 100644 --- a/cli/internal/validate.go +++ b/cli/internal/validate.go @@ -19,13 +19,19 @@ import ( var AppName string // ValidateRecipe ensures the recipe arg is valid. -func ValidateRecipe(c *cli.Context) recipe.Recipe { +func ValidateRecipe(c *cli.Context, ensureLatest bool) recipe.Recipe { recipeName := c.Args().First() if recipeName == "" { ShowSubcommandHelpAndError(c, errors.New("no recipe name provided")) } + if ensureLatest { + if err := recipe.EnsureLatest(recipeName); err != nil { + logrus.Fatal(err) + } + } + chosenRecipe, err := recipe.Get(recipeName) if err != nil { if c.Command.Name == "generate" { diff --git a/cli/recipe/lint.go b/cli/recipe/lint.go index a896352e06..180597dc8b 100644 --- a/cli/recipe/lint.go +++ b/cli/recipe/lint.go @@ -24,7 +24,7 @@ var recipeLintCommand = cli.Command{ Before: internal.SubCommandBefore, BashComplete: autocomplete.RecipeNameComplete, Action: func(c *cli.Context) error { - recipe := internal.ValidateRecipe(c) + recipe := internal.ValidateRecipe(c, true) if err := recipePkg.EnsureUpToDate(recipe.Name); err != nil { logrus.Fatal(err) diff --git a/cli/recipe/version.go b/cli/recipe/version.go index 38ac84e319..a1c9a0764a 100644 --- a/cli/recipe/version.go +++ b/cli/recipe/version.go @@ -20,7 +20,7 @@ var recipeVersionCommand = cli.Command{ Before: internal.SubCommandBefore, BashComplete: autocomplete.RecipeNameComplete, Action: func(c *cli.Context) error { - recipe := internal.ValidateRecipe(c) + recipe := internal.ValidateRecipe(c, false) catalogue, err := recipePkg.ReadRecipeCatalogue() if err != nil {