Files
goodBaby/drivers/github/github.go
T
mei 9b656cebee
Quality check / Web UI (push) Successful in 9m19s
feat(gateway): 优化gateway相关功能
2026-09-12 15:32:27 +08:00

30 lines
774 B
Go

package github
import (
"context"
"fmt"
"strings"
"github.com/ssdomei232/goodBaby/internal/retry"
)
// MakeRepositoryPublic 把配置里的仓库逐个设置为 public
//
// 每个仓库单独重试、互不阻塞,最后汇总失败信息交给上层记录。
func MakeRepositoryPublic(ctx context.Context, account *GithubAccount, config *GithubReposConfig) error {
var fails []string
for _, repo := range config.Repos {
if err := retry.Do(ctx, func() error {
return SetRepositoryPublic(ctx, account.Token, account.Owner, repo)
}); err != nil {
fails = append(fails, err.Error())
}
}
if len(fails) > 0 {
return fmt.Errorf("%d/%d 个仓库设置为 public 失败: %s",
len(fails), len(config.Repos), strings.Join(fails, "; "))
}
return nil
}