()
| 3193 | } |
| 3194 | |
| 3195 | func currentGitHubLogin() (string, error) { |
| 3196 | if _, err := exec.LookPath("gh"); err != nil { |
| 3197 | return "", fmt.Errorf("gh CLI not found in PATH: %w", err) |
| 3198 | } |
| 3199 | |
| 3200 | cmd := exec.Command("gh", "api", "user", "--jq", ".login") |
| 3201 | output, err := cmd.CombinedOutput() |
| 3202 | if err != nil { |
| 3203 | trimmed := strings.TrimSpace(string(output)) |
| 3204 | if trimmed != "" { |
| 3205 | return "", fmt.Errorf("gh api user: %s", trimmed) |
| 3206 | } |
| 3207 | return "", fmt.Errorf("gh api user: %w", err) |
| 3208 | } |
| 3209 | |
| 3210 | login := strings.TrimSpace(string(output)) |
| 3211 | if login == "" { |
| 3212 | return "", fmt.Errorf("gh api user returned empty login") |
| 3213 | } |
| 3214 | return login, nil |
| 3215 | } |
| 3216 | |
| 3217 | func githubRepoExists(owner, repo string) (bool, error) { |
| 3218 | if _, err := exec.LookPath("gh"); err != nil { |
no outgoing calls
no test coverage detected