зеркало из https://github.com/golang/build.git
cmd/releasebot: remove support for parallel releases
The output would end up mixed to the point of being useless. releasebot now supports parallelism at the terminal tab level. Change-Id: I291954a88884452e71d3e3d0416301453aec8374 Reviewed-on: https://go-review.googlesource.com/c/154340 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
This commit is contained in:
Родитель
9730d8b657
Коммит
5feef6d630
|
@ -64,7 +64,7 @@ func main() {
|
|||
security := flag.Bool("security", false, "cut a security release from the internal Gerrit")
|
||||
flag.Usage = usage
|
||||
flag.Parse()
|
||||
if *modeFlag == "" || !releaseModes[*modeFlag] || flag.NArg() == 0 {
|
||||
if *modeFlag == "" || !releaseModes[*modeFlag] || flag.NArg() != 1 {
|
||||
usage()
|
||||
}
|
||||
|
||||
|
@ -77,58 +77,48 @@ func main() {
|
|||
loadGithubAuth()
|
||||
loadGCSAuth()
|
||||
|
||||
var wg sync.WaitGroup
|
||||
for _, release := range flag.Args() {
|
||||
if strings.Contains(release, "beta") || strings.Contains(release, "rc") {
|
||||
if *security {
|
||||
log.Printf("error: only minor releases are supported in security mode")
|
||||
usage()
|
||||
release := flag.Arg(0)
|
||||
|
||||
if strings.Contains(release, "beta") || strings.Contains(release, "rc") {
|
||||
if *security {
|
||||
log.Printf("error: only minor releases are supported in security mode")
|
||||
usage()
|
||||
}
|
||||
w := &Work{
|
||||
Prepare: *modeFlag == "prepare",
|
||||
Version: release,
|
||||
BetaRelease: strings.Contains(release, "beta"),
|
||||
RCRelease: strings.Contains(release, "rc"),
|
||||
}
|
||||
w.doRelease()
|
||||
return
|
||||
}
|
||||
|
||||
errFoundMilestone := errors.New("found milestone")
|
||||
err := goRepo.ForeachMilestone(func(m *maintner.GitHubMilestone) error {
|
||||
if strings.ToLower(m.Title) == release {
|
||||
nextM, err := nextMilestone(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
w := &Work{
|
||||
Prepare: *modeFlag == "prepare",
|
||||
Version: release,
|
||||
BetaRelease: strings.Contains(release, "beta"),
|
||||
RCRelease: strings.Contains(release, "rc"),
|
||||
Milestone: m,
|
||||
NextMilestone: nextM,
|
||||
Prepare: *modeFlag == "prepare",
|
||||
Version: release,
|
||||
Security: *security,
|
||||
}
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
w.doRelease()
|
||||
}()
|
||||
continue
|
||||
}
|
||||
|
||||
errFoundMilestone := errors.New("found milestone")
|
||||
err := goRepo.ForeachMilestone(func(m *maintner.GitHubMilestone) error {
|
||||
if strings.ToLower(m.Title) == release {
|
||||
nextM, err := nextMilestone(m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
w := &Work{
|
||||
Milestone: m,
|
||||
NextMilestone: nextM,
|
||||
Prepare: *modeFlag == "prepare",
|
||||
Version: release,
|
||||
Security: *security,
|
||||
}
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
w.doRelease()
|
||||
}()
|
||||
return errFoundMilestone
|
||||
}
|
||||
return nil
|
||||
})
|
||||
if err != nil && err != errFoundMilestone {
|
||||
log.Printf("error looking for release %s: %v", release, err)
|
||||
}
|
||||
if err == nil {
|
||||
log.Printf("cannot find release %s", release)
|
||||
w.doRelease()
|
||||
return errFoundMilestone
|
||||
}
|
||||
return nil
|
||||
})
|
||||
if err != nil && err != errFoundMilestone {
|
||||
log.Fatalf("error looking for release %s: %v", release, err)
|
||||
}
|
||||
if err == nil {
|
||||
log.Fatalf("cannot find release %s", release)
|
||||
}
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
func nextMilestone(m *maintner.GitHubMilestone) (*maintner.GitHubMilestone, error) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче