github.com/Benchkram/bob@v0.0.0-20220321080157-7c8f3876e225/cli/cmd_verify.go (about) 1 package cli 2 3 import ( 4 "context" 5 "errors" 6 "fmt" 7 "os" 8 9 "github.com/Benchkram/bob/bob" 10 "github.com/Benchkram/bob/pkg/boblog" 11 "github.com/Benchkram/bob/pkg/usererror" 12 "github.com/Benchkram/errz" 13 "github.com/logrusorgru/aurora" 14 "github.com/spf13/cobra" 15 ) 16 17 var verifyCmd = &cobra.Command{ 18 Use: "verify", 19 Short: "Verify bob.yaml files in a workspace", 20 Long: ``, 21 Run: func(cmd *cobra.Command, args []string) { 22 runVerify() 23 }, 24 } 25 26 func runVerify() { 27 exitCode := 0 28 defer func() { 29 if exitCode == 0 { 30 fmt.Printf("\n%s\n", aurora.Green("Verified")) 31 os.Exit(0) 32 } else { 33 fmt.Printf("\n%s\n", aurora.Red("Verification failed")) 34 os.Exit(exitCode) 35 } 36 }() 37 38 b, err := bob.Bob() 39 if err != nil { 40 exitCode = 1 41 if errors.As(err, &usererror.Err) { 42 boblog.Log.UserError(err) 43 } else { 44 errz.Log(err) 45 } 46 } 47 48 err = b.Verify(context.Background()) 49 if err != nil { 50 exitCode = 1 51 if errors.As(err, &usererror.Err) { 52 boblog.Log.UserError(err) 53 } else { 54 errz.Log(err) 55 } 56 } 57 }