MCPcopy Create free account
hub / github.com/github/gh-aw / runDeployCommand

Function runDeployCommand

pkg/cli/deploy_command.go:114–140  ·  view source on GitHub ↗
(cmd *cobra.Command, workflows []string, validateEngine func(string) error)

Source from the content-addressed store, hash-verified

112}
113
114func runDeployCommand(cmd *cobra.Command, workflows []string, validateEngine func(string) error) error {
115 targetRepo, _ := cmd.Flags().GetString("repo")
116 targetOrg, _ := cmd.Flags().GetString("org")
117 repoGlobs, _ := cmd.Flags().GetStringSlice("repos")
118 yes, _ := cmd.Flags().GetBool("yes")
119
120 opts, coolDown, err := parseDeployCommandOptions(cmd, workflows, validateEngine)
121 if err != nil {
122 return err
123 }
124
125 if strings.TrimSpace(targetRepo) != "" && strings.TrimSpace(targetOrg) != "" {
126 return errors.New("cannot specify both --repo and --org")
127 }
128 if len(repoGlobs) > 0 && strings.TrimSpace(targetOrg) == "" {
129 return errors.New("--repos requires --org to be specified")
130 }
131 if strings.TrimSpace(targetRepo) == "" && strings.TrimSpace(targetOrg) == "" {
132 return errors.New("either --repo (owner/repo) or --org must be provided")
133 }
134
135 if strings.TrimSpace(targetOrg) != "" {
136 return runDeployForOrgFn(cmd.Context(), targetOrg, repoGlobs, workflows, opts, coolDown, yes, opts.Verbose)
137 }
138
139 return runDeployFn(cmd.Context(), targetRepo, workflows, opts, coolDown)
140}
141
142func parseDeployCommandOptions(cmd *cobra.Command, workflows []string, validateEngine func(string) error) (AddOptions, time.Duration, error) {
143 engineOverride, _ := cmd.Flags().GetString("engine")

Calls 2

GetStringMethod · 0.65