summaryrefslogtreecommitdiff
path: root/releaseWindow.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-02-02 01:42:13 -0600
committerJeff Carr <[email protected]>2024-02-02 01:42:13 -0600
commitc83524739cd2484b50810a239db1f001c05c4000 (patch)
treefb0f201ed27fd36f78988fd1c8e1e6e8df22df65 /releaseWindow.go
parent504cd29dcbf63bf63bcacb63cfc76238c6f7e814 (diff)
almost clickable releases
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'releaseWindow.go')
-rw-r--r--releaseWindow.go131
1 files changed, 83 insertions, 48 deletions
diff --git a/releaseWindow.go b/releaseWindow.go
index fa5608a..b8f829c 100644
--- a/releaseWindow.go
+++ b/releaseWindow.go
@@ -17,16 +17,16 @@ var release releaseStruct
type releaseStruct struct {
current *repo
- box *gui.Node
- group *gui.Node
- grid *gui.Node
- repo *gadgets.OneLiner
- status *gadgets.OneLiner
- readOnly *gadgets.OneLiner
- notes *gadgets.OneLiner
- version *gadgets.OneLiner
-// versionS string
-// widgetVersionS string
+ box *gui.Node
+ group *gui.Node
+ grid *gui.Node
+ repo *gadgets.OneLiner
+ status *gadgets.OneLiner
+ readOnly *gadgets.OneLiner
+ notes *gadgets.OneLiner
+ version *gadgets.OneLiner
+ // versionS string
+ // widgetVersionS string
releaseVersionB *gui.Node
unreleaseB *gui.Node
reason *gadgets.BasicEntry
@@ -44,7 +44,7 @@ type releaseStruct struct {
// store myself here. use myself to
// do garbage go get tests and other potential junk
- guireleaser *repo
+ guireleaser *repo
}
func (w *autoType) Disable() {
@@ -104,6 +104,8 @@ func createReleaseBox(box *gui.Node) {
switch release.status.String() {
case "PRIMATIVE":
log.Warn("can do PRIMATIVE", release.version.String())
+ case "GOOD":
+ log.Warn("GOOD. lots of go.sum checks passed", release.version.String())
case "manually chosen":
log.Warn("attempting manual release", release.version.String())
case "NOT READY":
@@ -119,6 +121,10 @@ func createReleaseBox(box *gui.Node) {
return
}
+ if release.current.status.ReadOnly() {
+ log.Info("sorry, it's read-only")
+ return
+ }
if release.current.status.CheckDirty() {
log.Info("sorry, it's still dirty")
return
@@ -268,48 +274,19 @@ func createReleaseBox(box *gui.Node) {
}
buttonEnable()
})
+
release.checkGoSumB = release.grid.NewButton("CheckGoSum()", func() {
buttonDisable()
- tmp := release.current.String()
- log.Info("Run CheckGoSum on repo:", tmp)
if ok, _ := release.current.status.CheckGoSum(); ok {
log.Info("repo has go.sum requirements that are clean")
- release.current.setGoSumStatus("CLEAN")
- } else {
+ // release.current.setGoSumStatus("CLEAN")
+ release.status.SetValue("GOOD")
+ release.notes.SetValue("CheckGoSum() does not seem to lie")
}
+ // goodCheckGoSum()
buttonEnable()
})
- /*
- if missing == "" {
- log.Info("BAD VERSION repo has go.sum requirements that are screwed up.", tmp)
- if release.current.getGoSumStatus() == "BAD" {
- release.current.setGoSumStatus("BAD VERSION")
- }
- if release.current.getGoSumStatus() == "CLEAN" {
- release.current.setGoSumStatus("BAD VERSION")
- }
- } else {
- log.Info("BAD VERSION repo has go.sum requirements that are screwed up.", tmp)
- log.Info("BAD VERSION need to addRepo() the missing repo", missing)
- if repostatus.VerifyLocalGoRepo(missing) {
- log.Info("BAD VERSION local directory exists", missing)
- addRepo(reposgrid, missing, "master", "master", "master")
- } else {
- log.Info("BAD VERSION local directory does not exist", missing)
- log.Info("START download of:", missing)
- os.Setenv("GO111MODULE", "off")
- err, output := release.current.status.RunCmd([]string{"go", "get", "-v", "-u", missing})
- log.Warn(output)
- log.Info("END download of:", missing)
- if err == nil {
- log.Warn("go get worked. recheck go.sum")
- } else {
- log.Warn("go get failed")
- }
- }
- // addRepo(reposgrid, missing, "master", "master", "master")
- }
- */
+
release.grid.NewButton("CheckPrimativeGoMod()", func() {
tmp := release.current.String()
log.Info("Run CheckGoSum on repo:", tmp)
@@ -320,6 +297,7 @@ func createReleaseBox(box *gui.Node) {
}
})
+
release.grid.NewButton("reset with scanGoSum()", func() {
buttonDisable()
// do an initial scan of all the repos
@@ -348,6 +326,41 @@ func createReleaseBox(box *gui.Node) {
buttonEnable()
})
}
+func goodCheckGoSum() bool {
+ tmp := release.current.String()
+ log.Info("Run CheckGoSum on repo:", tmp)
+ /*
+ */
+
+ var maybe bool = true
+ goConfig := release.current.status.GetGoDeps()
+ for depname, version := range goConfig {
+ log.Info("Checking repo deps:", depname, version)
+ repo, ok := me.allrepos[depname]
+ if ok {
+ goSumS := repo.getGoSumStatus()
+ if goSumS == "WHITELIST" {
+ continue
+ }
+ lastS := repo.status.GetLastTagVersion()
+ targetS := repo.targetVersion.String()
+ log.Info(" repo deps:", depname, version, "vs", goSumS, lastS, targetS)
+ if lastS != targetS {
+ maybe = false
+ }
+ } else {
+ log.Info(" repo deps: IGNORE", depname, version)
+ }
+ }
+ if maybe {
+ log.Info("SUCCEEDED.", release.current.String())
+ 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()
@@ -391,8 +404,8 @@ func setCurrentRepo(newcur *repo, s string, note string) bool {
release.notes.SetValue(note)
release.current = newcur
release.version.SetText(release.current.targetVersion.String())
- release.releaseVersionB.SetText("release version" + release.current.targetVersion.String())
- release.unreleaseB.SetText("un-release version" + release.current.targetVersion.String())
+ release.releaseVersionB.SetText("release version " + release.current.targetVersion.String())
+ release.unreleaseB.SetText("un-release version " + release.current.targetVersion.String())
release.openrepo.Enable()
/*
@@ -448,6 +461,28 @@ func findNextDirty(onlyKind string) bool {
if goSumS == "IGNORE" {
continue
}
+ if goSumS == "RELEASED" {
+ continue
+ }
+ if goSumS == "WHITELIST" {
+ continue
+ }
+ setCurrentRepo(repo, "REDO GOSUM", "try redoing the gosum")
+ if goodCheckGoSum() {
+ return true
+ } else {
+ // continue
+ }
+ if repo.String() == "go.wit.com/log" {
+ log.Info("findNextDirty() FOUND LOG", repo.String(), goSumS, dirtyS)
+ log.Info("findNextDirty() FOUND LOG", repo.String(), goSumS, dirtyS)
+ log.Info("findNextDirty() FOUND LOG", repo.String(), goSumS, dirtyS)
+ log.Info("findNextDirty() FOUND LOG", repo.String(), goSumS, dirtyS)
+ log.Info("findNextDirty() FOUND LOG", repo.String(), goSumS, dirtyS)
+ log.Sleep(10)
+ return true
+ }
+ continue
if goSumS == "UNRELEASED" {
if setCurrentRepo(repo, "UNRELEASED", "manually check go.sum") {
return true