summaryrefslogtreecommitdiff
path: root/releaseWindow.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-24 02:41:34 -0600
committerJeff Carr <[email protected]>2024-01-24 02:41:34 -0600
commitf2ad6d3138ce39e6fdd0508eeddd2439ad275f3c (patch)
treeff308f9c005fa778f4707184dc2bb2ef73afb94d /releaseWindow.go
parent9ddf46cf75a15a7b6398cc6d25b20bb993429cda (diff)
more attempts at release automation
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'releaseWindow.go')
-rw-r--r--releaseWindow.go72
1 files changed, 58 insertions, 14 deletions
diff --git a/releaseWindow.go b/releaseWindow.go
index 6460f40..2545cb3 100644
--- a/releaseWindow.go
+++ b/releaseWindow.go
@@ -13,13 +13,15 @@ var release releaseStruct
type releaseStruct struct {
current *repo
- win *gadgets.BasicWindow
- box *gui.Node
- group *gui.Node
- grid *gui.Node
- repo *gadgets.OneLiner
+ win *gadgets.BasicWindow
+ box *gui.Node
+ group *gui.Node
+ grid *gui.Node
+ repo *gadgets.OneLiner
status *gadgets.OneLiner
- notes *gadgets.OneLiner
+ notes *gadgets.OneLiner
+ version *gadgets.OneLiner
+ reason *gadgets.OneLiner
openrepo *gui.Node
}
@@ -42,6 +44,9 @@ func createReleaseWindow() {
release.group = release.box.NewGroup("things")
release.grid = release.group.NewGrid("buildOptions", 2, 1)
+ // do an initial scan of all the repos
+ scanGoSum()
+
release.grid.NewButton("next repo", func() {
log.Info("find the next repo to release here")
findNextRepo()
@@ -55,37 +60,76 @@ func createReleaseWindow() {
if release.current.status.CheckGoSum() {
log.Info("repo has go.sum requirements that are clean")
release.status.SetValue("CLEAN")
+ release.current.goSumStatus.SetValue("CLEAN")
} else {
log.Info("repo has go.sum requirements that are screwed up")
release.status.SetValue("BAD")
+ release.current.goSumStatus.SetValue("BAD")
+ }
+ release.current.status.Update()
+ release.current.newScan()
+
+ if release.current.dirtyLabel.String() == "PERFECT" {
+ return
}
// log.Info("find the next repo to release here")
- // release.current.status.Toggle()
+ release.current.status.Toggle()
})
release.openrepo.Disable()
release.repo = gadgets.NewOneLiner(release.grid, "repo")
release.status = gadgets.NewOneLiner(release.grid, "status")
release.notes = gadgets.NewOneLiner(release.grid, "notes")
+
+ release.version = gadgets.NewOneLiner(release.grid, "version")
+ release.version.SetValue("0.13.11")
+
+ release.reason = gadgets.NewOneLiner(release.grid, "reason")
+ release.reason.SetValue("release automation")
+
+ release.grid.NewButton("send version", func() {
+ log.Info("set version()")
+ release.current.status.SetVersion("0", "13", "11", "release automation")
+ })
+ release.grid.NewButton("set ignore", func() {
+ tmp := release.current.goSumStatus.String()
+ log.Info("trying to set repo IGNORE is now =", tmp)
+ release.current.goSumStatus.SetValue("IGNORE")
+ release.current.goSumStatus.SetLabel("IGNORE")
+ release.current.goSumStatus.SetText("IGNORE")
+ })
}
func findNextRepo() {
for repo, _ := range me.allrepos {
- latestversion := repo.status.GetLastTagVersion()
- status := repo.dirtyLabel.String()
- if status == "PERFECT" {
+ goSumS := repo.goSumStatus.String()
+ dirtyS := repo.dirtyLabel.String()
+
+ log.Info("repo", repo.String(), goSumS, dirtyS)
+ if goSumS == "IGNORE" {
continue
}
- if repo.status.CheckDirty() {
- log.Info("dirty repo:", latestversion, status, repo.status.String())
+ // latestversion := repo.status.GetLastTagVersion()
+ if goSumS == "CLEAN" {
+ if dirtyS == "PERFECT" {
+ continue
+ }
+ release.repo.SetValue(repo.status.String())
+ release.status.SetValue("clean")
+ release.notes.SetValue("check manually")
+ release.current = repo
+ release.openrepo.Enable()
+ return
+ }
+ if goSumS == "DIRTY" {
release.repo.SetValue(repo.status.String())
release.status.SetValue("dirty")
- release.notes.SetValue("You must commit your changes\nbefore you can continue")
+ release.notes.SetValue("commit changes")
release.current = repo
release.openrepo.Enable()
return
}
- log.Info("repo:", latestversion, status, repo.status.String())
}
+ log.Info("tried to find() but not sure what to do next")
}