changes for the autotypist
go mod automation testing read tags Signed-off-by: Jeff Carr <jcarr@wit.com> Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
e3cc044efc
commit
7a05ee53ab
70
draw.go
70
draw.go
|
@ -75,7 +75,6 @@ func (rs *RepoStatus) drawGitBranches() {
|
||||||
func (rs *RepoStatus) drawGitStatus() {
|
func (rs *RepoStatus) drawGitStatus() {
|
||||||
rs.gitStatusGroup = rs.window.Box().NewGroup("What GO Knows It Has")
|
rs.gitStatusGroup = rs.window.Box().NewGroup("What GO Knows It Has")
|
||||||
newgrid := rs.gitStatusGroup.NewGrid("gridnuts", 2, 2)
|
newgrid := rs.gitStatusGroup.NewGrid("gridnuts", 2, 2)
|
||||||
// newgrid.SetNext(1,1)
|
|
||||||
newgrid.Margin()
|
newgrid.Margin()
|
||||||
newgrid.Pad()
|
newgrid.Pad()
|
||||||
|
|
||||||
|
@ -84,6 +83,16 @@ func (rs *RepoStatus) drawGitStatus() {
|
||||||
rs.lasttag = gadgets.NewOneLiner(newgrid, "last tag")
|
rs.lasttag = gadgets.NewOneLiner(newgrid, "last tag")
|
||||||
rs.currentVersion = gadgets.NewOneLiner(newgrid, "Version")
|
rs.currentVersion = gadgets.NewOneLiner(newgrid, "Version")
|
||||||
rs.tagsDrop = gadgets.NewBasicDropdown(newgrid, "existing tags")
|
rs.tagsDrop = gadgets.NewBasicDropdown(newgrid, "existing tags")
|
||||||
|
|
||||||
|
// git for-each-ref --sort=taggerdate --format '%(tag) ,,,_,,, %(subject)' refs/tags
|
||||||
|
var cmd []string
|
||||||
|
cmd = append(cmd, "git", "for-each-ref", "--sort=taggerdate", "--format", "%(tag) %(subject)", "refs/tags")
|
||||||
|
_, _, output := RunCmd("/home/jcarr/go/src/"+rs.repopath, cmd)
|
||||||
|
log.Info(output)
|
||||||
|
for _, line := range strings.Split(output, "\n") {
|
||||||
|
rs.tagsDrop.AddText(line)
|
||||||
|
}
|
||||||
|
|
||||||
rs.masterBranchVersion = gadgets.NewOneLiner(newgrid, "master")
|
rs.masterBranchVersion = gadgets.NewOneLiner(newgrid, "master")
|
||||||
rs.develBranchVersion = gadgets.NewOneLiner(newgrid, "devel")
|
rs.develBranchVersion = gadgets.NewOneLiner(newgrid, "devel")
|
||||||
rs.userBranchVersion = gadgets.NewOneLiner(newgrid, "user")
|
rs.userBranchVersion = gadgets.NewOneLiner(newgrid, "user")
|
||||||
|
@ -102,23 +111,7 @@ func (rs *RepoStatus) drawGitCommands() {
|
||||||
rs.Update()
|
rs.Update()
|
||||||
})
|
})
|
||||||
|
|
||||||
label := "merge " + rs.masterDrop.String() + " to devel"
|
newgrid.NewLabel("tmp")
|
||||||
rs.develMerge = newgrid.NewButton(label, func() {
|
|
||||||
rs.Disable()
|
|
||||||
master := rs.masterDrop.String()
|
|
||||||
rs.checkoutBranch("master", master)
|
|
||||||
if rs.getCurrentBranchName() != master {
|
|
||||||
log.Warn("something went wrong switching to the master branch. full stop!")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if !rs.runGitCommands() {
|
|
||||||
log.Warn("SOMETHING WENT WRONG")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
rs.Update()
|
|
||||||
rs.Enable()
|
|
||||||
log.Warn("THINGS SEEM OK")
|
|
||||||
})
|
|
||||||
|
|
||||||
rs.major = gadgets.NewBasicCombobox(newgrid, "major")
|
rs.major = gadgets.NewBasicCombobox(newgrid, "major")
|
||||||
rs.major.Custom = func() {
|
rs.major.Custom = func() {
|
||||||
|
@ -136,7 +129,7 @@ func (rs *RepoStatus) drawGitCommands() {
|
||||||
rs.generateCmd()
|
rs.generateCmd()
|
||||||
}
|
}
|
||||||
newgrid.NewLabel("new tag version")
|
newgrid.NewLabel("new tag version")
|
||||||
rs.newversion = newgrid.NewLabel("3.1.4")
|
rs.newversion = newgrid.NewLabel("0.0.1")
|
||||||
|
|
||||||
rs.versionMessage = gadgets.NewBasicEntry(newgrid, "tag message")
|
rs.versionMessage = gadgets.NewBasicEntry(newgrid, "tag message")
|
||||||
rs.versionMessage.Custom = func() {
|
rs.versionMessage.Custom = func() {
|
||||||
|
@ -144,6 +137,24 @@ func (rs *RepoStatus) drawGitCommands() {
|
||||||
}
|
}
|
||||||
rs.versionCmdOutput = gadgets.NewOneLiner(newgrid, "tag cmd")
|
rs.versionCmdOutput = gadgets.NewOneLiner(newgrid, "tag cmd")
|
||||||
|
|
||||||
|
label := "merge " + rs.masterDrop.String() + " to devel"
|
||||||
|
rs.develMerge = newgrid.NewButton(label, func() {
|
||||||
|
rs.Disable()
|
||||||
|
master := rs.masterDrop.String()
|
||||||
|
rs.checkoutBranch("master", master)
|
||||||
|
if rs.getCurrentBranchName() != master {
|
||||||
|
log.Warn("something went wrong switching to the master branch. full stop!")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !rs.runGitCommands() {
|
||||||
|
log.Warn("SOMETHING WENT WRONG")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rs.Update()
|
||||||
|
rs.Enable()
|
||||||
|
log.Warn("THINGS SEEM OK")
|
||||||
|
})
|
||||||
|
|
||||||
rs.releaseVersion = newgrid.NewButton("tag and release new version", func() {
|
rs.releaseVersion = newgrid.NewButton("tag and release new version", func() {
|
||||||
if !rs.generateCmd() {
|
if !rs.generateCmd() {
|
||||||
log.Warn("something is wrong. fix the errors first")
|
log.Warn("something is wrong. fix the errors first")
|
||||||
|
@ -179,12 +190,12 @@ func (rs *RepoStatus) setTag() bool {
|
||||||
newver := strconv.Itoa(newa)
|
newver := strconv.Itoa(newa)
|
||||||
if newa < olda {
|
if newa < olda {
|
||||||
log.Warn("new version bad", newver, "vs old version", lasttag, "newa =", newa, "olda =", olda)
|
log.Warn("new version bad", newver, "vs old version", lasttag, "newa =", newa, "olda =", olda)
|
||||||
rs.newversion.SetText("bad")
|
rs.newversion.SetLabel("bad")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if newa > olda {
|
if newa > olda {
|
||||||
log.Warn("new version ok", newver, "vs old version", lasttag)
|
log.Warn("new version ok", newver, "vs old version", lasttag)
|
||||||
rs.newversion.SetText(newver)
|
rs.newversion.SetLabel(newver)
|
||||||
rs.minor.SetText("")
|
rs.minor.SetText("")
|
||||||
rs.revision.SetText("")
|
rs.revision.SetText("")
|
||||||
return true
|
return true
|
||||||
|
@ -194,13 +205,13 @@ func (rs *RepoStatus) setTag() bool {
|
||||||
newver = strconv.Itoa(newa) + "." + strconv.Itoa(newb)
|
newver = strconv.Itoa(newa) + "." + strconv.Itoa(newb)
|
||||||
if newb < oldb {
|
if newb < oldb {
|
||||||
log.Warn("new version bad", newver, "vs old version", lasttag, "newb =", newb, "oldb =", oldb)
|
log.Warn("new version bad", newver, "vs old version", lasttag, "newb =", newb, "oldb =", oldb)
|
||||||
rs.newversion.SetText("bad")
|
rs.newversion.SetLabel("bad")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if newb > oldb {
|
if newb > oldb {
|
||||||
log.Warn("new version ok", newver, "vs old version", lasttag)
|
log.Warn("new version ok", newver, "vs old version", lasttag)
|
||||||
rs.newversion.SetText(newver)
|
rs.newversion.SetLabel(newver)
|
||||||
rs.revision.SetText("")
|
rs.revision.SetText("")
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -209,11 +220,11 @@ func (rs *RepoStatus) setTag() bool {
|
||||||
newver = strconv.Itoa(newa) + "." + strconv.Itoa(newb) + "." + strconv.Itoa(newc)
|
newver = strconv.Itoa(newa) + "." + strconv.Itoa(newb) + "." + strconv.Itoa(newc)
|
||||||
if newc <= oldc {
|
if newc <= oldc {
|
||||||
log.Warn("new version bad", newver, "vs old version", lasttag)
|
log.Warn("new version bad", newver, "vs old version", lasttag)
|
||||||
rs.newversion.SetText("bad")
|
rs.newversion.SetLabel("bad")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
log.Warn("new version ok", newver, "vs old version", lasttag)
|
log.Warn("new version ok", newver, "vs old version", lasttag)
|
||||||
rs.newversion.SetText(newver)
|
rs.newversion.SetLabel(newver)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,8 +264,8 @@ func (rs *RepoStatus) recommend() {
|
||||||
log.Warn("merge or squash?")
|
log.Warn("merge or squash?")
|
||||||
rs.EnableMergeDevel()
|
rs.EnableMergeDevel()
|
||||||
rs.setMergeUserCommands()
|
rs.setMergeUserCommands()
|
||||||
label := "merge " + rs.GetUserBranchName() + " into " + rs.GetDevelBranchName()
|
label := "merge user into " + rs.GetDevelBranchName()
|
||||||
rs.develMerge.SetText(label)
|
rs.develMerge.SetLabel(label)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Warn("Does master == devel? ", rs.masterBranchVersion.String(), rs.develBranchVersion.String())
|
log.Warn("Does master == devel? ", rs.masterBranchVersion.String(), rs.develBranchVersion.String())
|
||||||
|
@ -262,8 +273,8 @@ func (rs *RepoStatus) recommend() {
|
||||||
log.Warn("master does not equal devel. merge devel into master")
|
log.Warn("master does not equal devel. merge devel into master")
|
||||||
rs.EnableMergeDevel()
|
rs.EnableMergeDevel()
|
||||||
rs.setMergeDevelCommands()
|
rs.setMergeDevelCommands()
|
||||||
label := "merge " + rs.GetDevelBranchName() + " into " + rs.GetMasterBranchName()
|
label := "merge devel into " + rs.GetMasterBranchName()
|
||||||
rs.develMerge.SetText(label)
|
rs.develMerge.SetLabel(label)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
rs.getLastTagVersion()
|
rs.getLastTagVersion()
|
||||||
|
@ -272,7 +283,6 @@ func (rs *RepoStatus) recommend() {
|
||||||
rs.incrementVersion()
|
rs.incrementVersion()
|
||||||
rs.EnableSelectTag()
|
rs.EnableSelectTag()
|
||||||
rs.setTag()
|
rs.setTag()
|
||||||
rs.versionMessage.SetText("TODO: set globally")
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Warn("Is repo pushed upstream? git.wit.org or github?")
|
log.Warn("Is repo pushed upstream? git.wit.org or github?")
|
||||||
|
|
7
git.go
7
git.go
|
@ -243,14 +243,17 @@ func (rs *RepoStatus) GetStatus() string {
|
||||||
return "merge to devel"
|
return "merge to devel"
|
||||||
}
|
}
|
||||||
if rs.userBranchVersion.String() != rs.masterBranchVersion.String() {
|
if rs.userBranchVersion.String() != rs.masterBranchVersion.String() {
|
||||||
return "release"
|
return "ready to release"
|
||||||
|
}
|
||||||
|
if rs.lasttag.String() != rs.masterBranchVersion.String() {
|
||||||
|
return "ready to tag version"
|
||||||
}
|
}
|
||||||
|
|
||||||
if rs.CheckBranches() {
|
if rs.CheckBranches() {
|
||||||
log.Warn("Branches are Perfect")
|
log.Warn("Branches are Perfect")
|
||||||
return "PERFECT"
|
return "PERFECT"
|
||||||
}
|
}
|
||||||
log.Warn("Branches are not Perfect")
|
log.Warn(rs.GetPath(), "Branches are not Perfect")
|
||||||
return "unknown branches"
|
return "unknown branches"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
6
go.mod
6
go.mod
|
@ -3,9 +3,9 @@ module go.wit.com/lib/gui/repostatus
|
||||||
go 1.21.4
|
go 1.21.4
|
||||||
|
|
||||||
require (
|
require (
|
||||||
go.wit.com/gui v0.12.18
|
go.wit.com/gui v0.12.19
|
||||||
go.wit.com/lib/gadgets v0.12.12
|
go.wit.com/lib/gadgets v0.12.14
|
||||||
go.wit.com/log v0.5.5
|
go.wit.com/log v0.5.6
|
||||||
go.wit.com/widget v1.1.6
|
go.wit.com/widget v1.1.6
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
12
go.sum
12
go.sum
|
@ -4,11 +4,11 @@ go.wit.com/dev/alexflint/scalar v1.2.1 h1:loXOcbVnd+8YeJRLey+XXidecBiedMDO00zQ26
|
||||||
go.wit.com/dev/alexflint/scalar v1.2.1/go.mod h1:+rYsfxqdI2cwA8kJ7GCMwWbNJvfvWUurOCXLiwdTtSs=
|
go.wit.com/dev/alexflint/scalar v1.2.1/go.mod h1:+rYsfxqdI2cwA8kJ7GCMwWbNJvfvWUurOCXLiwdTtSs=
|
||||||
go.wit.com/dev/davecgh/spew v1.1.4 h1:C9hj/rjlUpdK+E6aroyLjCbS5MFcyNUOuP1ICLWdNek=
|
go.wit.com/dev/davecgh/spew v1.1.4 h1:C9hj/rjlUpdK+E6aroyLjCbS5MFcyNUOuP1ICLWdNek=
|
||||||
go.wit.com/dev/davecgh/spew v1.1.4/go.mod h1:sihvWmnQ/09FWplnEmozt90CCVqBtGuPXM811tgfhFA=
|
go.wit.com/dev/davecgh/spew v1.1.4/go.mod h1:sihvWmnQ/09FWplnEmozt90CCVqBtGuPXM811tgfhFA=
|
||||||
go.wit.com/gui v0.12.18 h1:gFVDaJFz/Su8JgUd9Oxnb3t+FS+bzy5WJSvGoKVGYZU=
|
go.wit.com/gui v0.12.19 h1:OEnsnZnec7Q2jZVjwl413V0wuVAAB4r2mGTY0IouBuw=
|
||||||
go.wit.com/gui v0.12.18/go.mod h1:27+THr2a84GZ61KKUuN30WYnYoSsBewllUKc+fnWLto=
|
go.wit.com/gui v0.12.19/go.mod h1:v2VgnOL3dlZ13KclYeedZ1cd20nQdvwjyJTNKvFX3DA=
|
||||||
go.wit.com/lib/gadgets v0.12.12 h1:3UFxKIOibaztREXgsLpMhVzG3w0gT3V98QzbWg2EPoc=
|
go.wit.com/lib/gadgets v0.12.14 h1:Osh7D8TKJiU5M6tXqERGQwTUt+C5IJ0senkmUAirSek=
|
||||||
go.wit.com/lib/gadgets v0.12.12/go.mod h1:1bT2DhJkwP7zJJydhiAnchlh+WJU4BWdhkYnX6mvQME=
|
go.wit.com/lib/gadgets v0.12.14/go.mod h1:Fxc7F8hGskpkWVAsXKhs4ilqUlAnikVXj4yzumtTYa0=
|
||||||
go.wit.com/log v0.5.5 h1:bK3b94uVKgev4jB5wg06FnvCFBEapQICTSH2YW+CWr4=
|
go.wit.com/log v0.5.6 h1:rDC3ju95zfEads4f1Zm+QMkqjZ39CsYAT/UmQQs7VP4=
|
||||||
go.wit.com/log v0.5.5/go.mod h1:BaJBfHFqcJSJLXGQ9RHi3XVhPgsStxSMZRlaRxW4kAo=
|
go.wit.com/log v0.5.6/go.mod h1:BaJBfHFqcJSJLXGQ9RHi3XVhPgsStxSMZRlaRxW4kAo=
|
||||||
go.wit.com/widget v1.1.6 h1:av2miF5vlohMfARA/QGPTPfgW/ADup1c+oeAOKgroPY=
|
go.wit.com/widget v1.1.6 h1:av2miF5vlohMfARA/QGPTPfgW/ADup1c+oeAOKgroPY=
|
||||||
go.wit.com/widget v1.1.6/go.mod h1:I8tnD3x3ECbB/CRNnLCdC+uoyk7rK0AEkzK1bQYSqoQ=
|
go.wit.com/widget v1.1.6/go.mod h1:I8tnD3x3ECbB/CRNnLCdC+uoyk7rK0AEkzK1bQYSqoQ=
|
||||||
|
|
|
@ -116,6 +116,9 @@ func (rs *RepoStatus) EnableSelectTag() {
|
||||||
|
|
||||||
// disable adding a tag message
|
// disable adding a tag message
|
||||||
rs.versionMessage.Enable()
|
rs.versionMessage.Enable()
|
||||||
|
rs.versionMessage.SetText("")
|
||||||
|
|
||||||
|
rs.develMerge.SetLabel("ready to release")
|
||||||
|
|
||||||
// force there to be a commit message
|
// force there to be a commit message
|
||||||
rs.releaseVersion.Disable()
|
rs.releaseVersion.Disable()
|
||||||
|
|
Loading…
Reference in New Issue