start the automation of version re-release

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2024-02-02 03:34:14 -06:00
parent f35f420b8a
commit b07ef2498f
2 changed files with 92 additions and 59 deletions

View File

@ -338,7 +338,7 @@ func goodCheckGoSum() bool {
tmp := release.current.String() tmp := release.current.String()
log.Info("goodCheckGoSum() START on repo:", tmp, "STATUS =", release.current.getGoSumStatus()) log.Info("goodCheckGoSum() START on repo:", tmp, "STATUS =", release.current.getGoSumStatus())
/* /*
*/ */
var maybe bool = true var maybe bool = true
goConfig := release.current.status.GetGoDeps() goConfig := release.current.status.GetGoDeps()

View File

@ -8,73 +8,56 @@ import (
"go.wit.com/log" "go.wit.com/log"
) )
func findUnreleased() bool {
for _, repo := range me.allrepos {
if whitelist(repo.String()) {
log.Info("skipping whitelist", repo.String())
continue
}
setCurrentRepo(repo, "rewind this?", "not sure")
if repo.lookToUnwind() {
log.Info("found something to unwind:", repo.String())
if setCurrentRepo(repo, "rewind this", "very sure") {
return true
}
return false
}
}
return false
}
func createUnreleaseBox(box *gui.Node) { func createUnreleaseBox(box *gui.Node) {
group := release.box.NewGroup("undo and redo things") group := release.box.NewGroup("undo and redo things")
group.NewButton("find the unreleased", func() { group.NewButton("find the unreleased", func() {
me.Disable() me.Disable()
defer me.Enable() defer me.Enable()
for _, repo := range me.allrepos { findUnreleased()
if whitelist(repo.String()) { })
log.Info("skipping whitelist", repo.String()) release.unreleaseB = group.NewButton("re-release", func() {
continue // var count int = 0
} me.Disable()
setCurrentRepo(repo, "rewind this?", "not sure") if rerelease() {
log.Info("good to re-release another one")
if repo.lookToUnwind() { } else {
log.Info("found something to unwind:", repo.String()) log.Info("loop(3) failed")
if setCurrentRepo(repo, "rewind this", "very sure") { return
} }
me.Enable()
})
group.NewButton("loop(5)", func() {
me.Disable()
for n := 0; n <= 5; n++ {
if rerelease() {
log.Info("good to re-release another one")
} else {
log.Info("loop(3) failed")
return return
} }
} }
}) log.Info("loop(5) worked")
release.unreleaseB = group.NewButton("re-release", func() { me.Enable()
me.Disable()
if release.unreleaseB.String() != "un-release version "+release.version.String() {
log.Warn("something went wrong with the release.version:", release.version.String())
return
}
if strings.HasPrefix(release.version.String(), "v") {
log.Warn("everything is ok. version starts with v.", release.version.String())
} else {
log.Warn("version does not start with v.", release.version.String())
return
}
if release.current.status.CheckDirty() {
log.Info("sorry, it's still dirty")
return
}
curName := release.current.status.GetCurrentBranchName()
mName := release.current.status.GetMasterBranchName()
if curName != mName {
log.Info("\trepo is not working from main branch", curName, "!=", mName)
return
}
log.Info("\treset to devel", curName, release.version.String(), release.reasonS)
var all [][]string
all = append(all, []string{"git", "checkout", "devel"})
all = append(all, []string{"git", "branch", "-D", mName})
all = append(all, []string{"git", "branch", mName})
all = append(all, []string{"git", "checkout", mName})
all = append(all, []string{"git", "push", "--set-upstream", "--force", "origin", mName})
all = append(all, []string{"git", "tag", "--delete", release.version.String()})
all = append(all, []string{"git", "push", "--delete", "origin", release.version.String()})
all = append(all, []string{"git", "tag", "-m", release.reasonS, release.version.String()})
all = append(all, []string{"git", "push", "origin", release.version.String()})
if doAll(release.current, all) {
log.Info("EVERYTHING OK")
me.Enable()
} else {
log.Info("SOMETHING FAILED")
}
}) })
} }
@ -90,3 +73,53 @@ func doAll(r *repo, all [][]string) bool {
} }
return true return true
} }
func rerelease() bool {
if release.unreleaseB.String() != "un-release version "+release.version.String() {
log.Warn("something went wrong with the release.version:", release.version.String())
return false
}
if strings.HasPrefix(release.version.String(), "v") {
log.Warn("everything is ok. version starts with v.", release.version.String())
} else {
log.Warn("version does not start with v.", release.version.String())
return false
}
if release.current.status.CheckDirty() {
log.Info("sorry, it's still dirty")
return false
}
curName := release.current.status.GetCurrentBranchName()
mName := release.current.status.GetMasterBranchName()
if curName != mName {
log.Info("\trepo is not working from main branch", curName, "!=", mName)
return false
}
log.Info("\treset to devel", curName, release.version.String(), release.reasonS)
var all [][]string
all = append(all, []string{"git", "checkout", "devel"})
all = append(all, []string{"git", "branch", "-D", mName})
all = append(all, []string{"git", "branch", mName})
all = append(all, []string{"git", "checkout", mName})
all = append(all, []string{"git", "push", "--set-upstream", "--force", "origin", mName})
all = append(all, []string{"git", "tag", "--delete", release.version.String()})
all = append(all, []string{"git", "push", "--delete", "origin", release.version.String()})
all = append(all, []string{"git", "tag", "-m", release.reasonS, release.version.String()})
all = append(all, []string{"git", "push", "origin", release.version.String()})
if doAll(release.current, all) {
log.Info("EVERYTHING OK. RERELEASED", release.current.String())
if findUnreleased() {
log.Info("GOOD TO RUN ANOTHER DAY ON:", release.current.String())
}
} else {
log.Info("SOMETHING FAILED")
return false
}
return true
}