From bdd9b0a1aa7ae3054d6238f3e2f7f4de93949ab7 Mon Sep 17 00:00:00 2001 From: cellarspoon Date: Sat, 29 Jan 2022 14:06:25 +0100 Subject: [PATCH] fix: ensure recipes on latest for lint/generate Follows b2d17a1829c5415c4700cf5da85144af4de87162. --- cli/catalogue/catalogue.go | 2 +- cli/internal/validate.go | 8 +++++++- cli/recipe/lint.go | 2 +- cli/recipe/version.go | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/cli/catalogue/catalogue.go b/cli/catalogue/catalogue.go index 3a5dc7d6..3aaebe09 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 56af1375..a41063fe 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 a896352e..180597dc 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 38ac84e3..a1c9a076 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 {