summaryrefslogtreecommitdiff
path: root/releaseBox.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-02-20 06:53:07 -0600
committerJeff Carr <[email protected]>2024-02-20 06:53:07 -0600
commita5cd066cd24e68f5149452ea2f600ce1d4956198 (patch)
tree60e921e824ceb0367e410c348c2a1b32eb6f08a9 /releaseBox.go
parent28f5e1535036b9490df7cce63759bb39774f73c7 (diff)
rewriting logic to repolist
Diffstat (limited to 'releaseBox.go')
-rw-r--r--releaseBox.go150
1 files changed, 18 insertions, 132 deletions
diff --git a/releaseBox.go b/releaseBox.go
index 91960c0..f6f281e 100644
--- a/releaseBox.go
+++ b/releaseBox.go
@@ -163,44 +163,9 @@ func createReleaseBox(box *gui.Node) {
release.whitelist[release.current.GoPath()] = release.current
})
- release.checkSafeB = release.grid.NewButton("fullDoubleCheckFix()", func() {
+ release.checkGoSumB = release.grid.NewButton("checkValidGoSum()", func() {
buttonDisable()
- if fullDoubleCheckFix() {
- log.Info("go.sum is clean")
- } else {
- log.Info("repo go.sum FAILED")
- return
- }
- buttonEnable()
- })
-
- release.checkGoSumB = release.grid.NewButton("CheckGoSum()", func() {
- buttonDisable()
- if ok, _ := release.current.Status.CheckGoSum(); ok {
- log.Info("repo has go.sum requirements that are clean")
- // release.current.setGoSumStatus("CLEAN")
- release.status.SetText("GOOD")
- release.notes.SetText("CheckGoSum() does not seem to lie")
- }
- buttonEnable()
- })
-
- release.makeRedomodB = release.grid.NewButton("make redomod", func() {
- buttonDisable()
- if release.current.Status.MakeRedomod() {
- } else {
- log.Info("This is bad. stop here")
- }
- buttonEnable()
- })
-
- release.grid.NewButton("goodCheckGoSum()", func() {
- buttonDisable()
- if goodCheckGoSum() {
- log.Info("goodCheckGoSum() GOOD")
- } else {
- log.Info("goodCheckGoSum() FAILED")
- }
+ checkValidGoSum(release.current)
buttonEnable()
})
release.grid.NextRow()
@@ -234,77 +199,6 @@ func createReleaseBox(box *gui.Node) {
release.grid.NextRow()
}
-func fullDoubleCheckFix() bool {
- release.current.Status.CheckSafeGoSumRemake()
- if !release.current.Status.MakeRedomod() {
- log.Info("go mod failed")
- return false
- }
- if ok, _ := release.current.Status.CheckGoSum(); ok {
- log.Info("go.sum is clean")
- } else {
- log.Info("repo go.sum FAILED")
- return false
- }
- if ok, _ := release.current.Status.CheckGoSum(); ok {
- log.Info("repo has go.sum requirements that are clean")
- // release.current.setGoSumStatus("CLEAN")
- release.status.SetValue("GOOD")
- release.notes.SetValue("CheckGoSum() does not seem to lie")
- return true
- }
- return false
-}
-
-func goodCheckGoSum() bool {
- tmp := release.current.Name()
- log.Info("goodCheckGoSum() START on repo:", tmp, "STATUS =", release.current.GoState())
-
- var maybe bool = true
- goConfig := release.current.Status.GetGoDeps()
- for depname, version := range goConfig {
- log.Info("Starting repo deps:", depname, version)
- repo := me.repos.View.FindRepo(depname)
- if repo == nil {
- log.Info(" skipping repo == nil", depname, version)
- continue
- }
- goSumS := repo.GoState()
- // ignore dependencies on whitelisted repos
- // TODO: warn the user about the whitelist
- if goSumS == "WHITELIST" {
- log.Info(" skipping repo == nil", depname, version)
- continue
- }
- // check if the dependent repo is ReadOnly
- // if so, there isn't anything we can do about
- // version mis-matches
- if repo.ReadOnly() {
- log.Info(" repo deps: WHITELIST", depname, version)
- continue
- }
- log.Info("Checking repo deps match:", depname, version)
- lastS := repo.LastTag()
- targetS := repo.Status.GetTargetVersion()
- log.Info(" repo deps:", depname, version, "vs", goSumS, lastS, targetS)
- if lastS != targetS {
- log.Info("repo deps: FALSE lastS != targetS", lastS, targetS)
- log.Info("repo deps: FALSE status.ReadOnly()", release.current.ReadOnly())
- log.Info("repo deps: FALSE path", release.current.GoPath())
- maybe = false
- }
- }
- if maybe {
- log.Info("SUCCEEDED.", release.current.Name())
- log.Info("SUCCEEDED. goSumStatus.String() =", release.current.GoState())
- log.Info("SUCCEEDED. MAYBE. try it again get go.sum requirements")
- return true
- } else {
- log.Info("FAILED. move on")
- }
- return false
-}
-
func buttonDisable() {
me.Disable()
}
@@ -352,45 +246,37 @@ func scanForReady() bool {
// trys to figure out if there is still something to update
// todo: redo this logic as it is terrible
+// rename this findNext()
func findNextDirty(onlyKind string) bool {
for _, repo := range me.repos.View.AllRepos() {
goSumS := repo.GoState()
- // dirtyS := repo.State()
- log.Info("findNextDirty()", repo.GoPath(), goSumS)
- if repo.ReadOnly() {
- log.Info("findNextDirty() skipping readonly")
+ if repo.Status.GetTargetVersion() == repo.Status.GetCurrentVersion() {
continue
}
- if goSumS == "PRIMATIVE" {
- if setCurrentRepo(repo, "PRIMATIVE", "release new version") {
- if release.version.String() == release.current.Status.GetLastTagVersion() {
- // everything is fine. the primative has already been released
- } else {
- return true
- }
- }
+ if goSumS == "WHITELIST" {
continue
- } else {
- if onlyKind == "PRIMATIVE" {
- continue
- }
}
if goSumS == "IGNORE" {
continue
}
- if goSumS == "RELEASED" {
+ if repo.ReadOnly() {
+ log.Info("findNextDirty() skipping readonly")
continue
}
- if goSumS == "WHITELIST" {
+ if repo.CheckDirty() {
+ log.Info("findNextDirty() skipping readonly")
+ continue
+ }
+ log.Info("findNextDirty()", repo.GoPath(), goSumS)
+ if repo.Status.IsPrimitive() {
+ if setCurrentRepo(repo, "PRIMATIVE", "release new version") {
+ return true
+ }
continue
}
- setCurrentRepo(repo, "REDO GOSUM", "try redoing the gosum")
- newgoSumS := release.current.GoState()
- // newdirtyS := release.current.dirtyLabel.String()
- newlastS := release.current.LastTag()
- if goodCheckGoSum() {
- log.Info("findNextDirty() returning true from goodCheckGoSum()", newgoSumS, newgoSumS, newlastS)
+ if checkValidGoSum(release.current) {
+ setCurrentRepo(repo, "should be good to release", "pretty sure")
return true
}
}