package functions import ( "fmt" "strings" giturls "github.com/chainguard-dev/git-urls" ) type Git struct { URL string `yaml:"url,omitempty"` Revision string `yaml:"revision,omitempty"` ContextDir string `yaml:"contextDir,omitempty"` } // validateGit validates input Git option from Function config func validateGit(git Git) (errors []string) { if git.URL != "" { _, err := giturls.ParseTransport(git.URL) if err != nil { _, err = giturls.ParseScp(git.URL) } if err != nil { errMsg := fmt.Sprintf("specified option \"git.url=%s\" is not valid", git.URL) originalErr := err.Error() if !strings.HasSuffix(originalErr, "is not a valid transport") { errMsg = fmt.Sprintf("%s, error: %s", errMsg, originalErr) } errors = append(errors, errMsg) } } return }