keep switching to protobuf
This commit is contained in:
parent
2d981da765
commit
6e9ff62fba
25
doRelease.go
25
doRelease.go
|
@ -36,13 +36,6 @@ func doRelease() bool {
|
|||
} else {
|
||||
log.Info("go.mod missing")
|
||||
return false
|
||||
/*
|
||||
pwd, _ := os.Getwd()
|
||||
log.Info("go.mod disappeared. need to run go mod init and go mod tidy here:", pwd)
|
||||
shell.RunRealtime([]string{"go", "mod", "init"})
|
||||
shell.RunRealtime([]string{"go", "mod", "tidy"})
|
||||
shell.RunRealtime([]string{"go", "mod", "edit", "-go=1.20"})
|
||||
*/
|
||||
}
|
||||
|
||||
curName := me.current.Status.GetCurrentBranchName()
|
||||
|
@ -206,16 +199,16 @@ func doPublishVersion() bool {
|
|||
docmd := []string{"go", "get", "-v", gopath + "@" + me.release.version.String()}
|
||||
log.Info("SHOULD RUN cmd HERE:", docmd)
|
||||
|
||||
// right now, you can't publish this because the go.* files in this project are screwed up
|
||||
if me.release.guireleaser == nil {
|
||||
log.Info("CAN NOT SELF UPDATE HERE. cmd =", docmd)
|
||||
return false
|
||||
testf := filepath.Join(me.forge.GetGoSrc(), "go.wit.com/apps/guireleaser", "go.sum")
|
||||
if !shell.Exists(testf) {
|
||||
pb := me.forge.Repos.FindByGoPath("go.wit.com/apps/guireleaser")
|
||||
if pb != nil {
|
||||
pb.RedoGoMod() // hack for reset on guireleaser while publishing
|
||||
}
|
||||
if !shell.Exists(testf) {
|
||||
log.Info("go.sum missing", testf)
|
||||
panic("redo go.sum")
|
||||
}
|
||||
homeDir, _ := os.UserHomeDir()
|
||||
gosum := filepath.Join(homeDir, "go/src/go.wit.com/apps/guireleaser/go.sum")
|
||||
if !shell.Exists(gosum) {
|
||||
log.Info("go.sum must exist here")
|
||||
me.release.guireleaser.MakeRedoMod()
|
||||
}
|
||||
if me.current.Status.IsPrivate() {
|
||||
// do not self update private repos
|
||||
|
|
34
findNext.go
34
findNext.go
|
@ -101,25 +101,26 @@ func findNext() bool {
|
|||
func fixGodeps(check *gitpb.Repo) bool {
|
||||
var good bool = true
|
||||
// check if the package dependancies changed, if so, re-publish
|
||||
cmd := []string{"go-clean", "--auto"}
|
||||
result := check.RunRealtime(cmd)
|
||||
if result.Error != nil {
|
||||
log.Info(cmd, "failed with", result.Error, check.GoPath)
|
||||
return false
|
||||
}
|
||||
if result.Exit != 0 {
|
||||
log.Info(cmd, "failed with", result.Exit, check.GoPath)
|
||||
return false
|
||||
}
|
||||
check.GoDeps = nil
|
||||
// skip primative ones
|
||||
if ok, _ := check.IsPrimitive(); ok {
|
||||
log.Info("fixGoDeps() skipping primitive", check.GoPath)
|
||||
return true
|
||||
}
|
||||
ok, err := check.RedoGoMod()
|
||||
if err != nil {
|
||||
log.Info("fixGoDeps() RedoGoMod() error", err)
|
||||
if ok, err := check.ParseGoSum(); !ok {
|
||||
log.Info("ParseGoSum() failed", err)
|
||||
return false
|
||||
}
|
||||
if !ok {
|
||||
log.Info("gitpb.RedoGoMod() returned false", check.GetGoPath())
|
||||
return false
|
||||
}
|
||||
if check.GoDeps == nil {
|
||||
cmd := []string{"go", "mod", "edit", "-go=1.20"}
|
||||
check.Run(cmd)
|
||||
return true
|
||||
}
|
||||
log.Printf("current repo %s go dependancy count: %d", check.GetGoPath(), check.GoDepsLen())
|
||||
deps := check.GoDeps.SortByGoPath()
|
||||
for deps.Scan() {
|
||||
|
@ -143,15 +144,6 @@ func fixGodeps(check *gitpb.Repo) bool {
|
|||
check.Run(cmd)
|
||||
}
|
||||
}
|
||||
cmd := []string{"go", "mod", "tidy"}
|
||||
check.Run(cmd)
|
||||
cmd = []string{"go", "mod", "edit", "-go=1.20"}
|
||||
check.Run(cmd)
|
||||
check.GoDeps = nil
|
||||
if ok, err := check.ParseGoSum(); !ok {
|
||||
log.Info("ParseGoSum() failed", err)
|
||||
return false
|
||||
}
|
||||
return good
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
|
@ -20,109 +18,54 @@ func makePrepareRelease() {
|
|||
log.Info("setAllBranchesToMaster() failed")
|
||||
}
|
||||
|
||||
// first reset all the target versions back to the current version
|
||||
// incase there was a partial release process running that
|
||||
// did not finish
|
||||
loop := me.repos.View.ReposSortByName()
|
||||
for loop.Scan() {
|
||||
repo := loop.Repo()
|
||||
|
||||
// find the gitpb.Repo
|
||||
check := me.forge.Repos.FindByGoPath(repo.GoPath())
|
||||
if check == nil {
|
||||
log.Info("boo, you didn't git clone", repo.GoPath())
|
||||
os.Exit(-1)
|
||||
}
|
||||
// reset all the target versions back to the current version
|
||||
// incase they were saved in the repos.pb file
|
||||
all := me.forge.Repos.SortByGoPath()
|
||||
for all.Scan() {
|
||||
check := all.Next()
|
||||
|
||||
// set the target version to the current master version
|
||||
curver := repo.Status.GetMasterVersion()
|
||||
curver := check.GetMasterVersion()
|
||||
check.SetTargetVersion(curver)
|
||||
}
|
||||
|
||||
// on startup, run fixGoDeps() on every go.sum that didn't match
|
||||
if argv.Fix {
|
||||
loop = me.repos.View.ReposSortByName()
|
||||
for loop.Scan() {
|
||||
repo := loop.Repo()
|
||||
// find the gitpb.Repo
|
||||
check := me.forge.Repos.FindByGoPath(repo.GoPath())
|
||||
if check == nil {
|
||||
log.Info("boo, you didn't git clone", repo.GoPath())
|
||||
os.Exit(-1)
|
||||
}
|
||||
all := me.forge.Repos.SortByGoPath()
|
||||
for all.Scan() {
|
||||
check := all.Next()
|
||||
|
||||
if !me.forge.FinalGoDepsCheckOk(check) {
|
||||
fixGodeps(check)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// now figure out what to release and increment the version
|
||||
loop = me.repos.View.ReposSortByName()
|
||||
for loop.Scan() {
|
||||
repo := loop.Repo()
|
||||
// find the gitpb.Repo
|
||||
check := me.forge.Repos.FindByGoPath(repo.GoPath())
|
||||
if check == nil {
|
||||
log.Info("boo, you didn't git clone", repo.GoPath())
|
||||
os.Exit(-1)
|
||||
all = me.forge.Repos.SortByGoPath()
|
||||
for all.Scan() {
|
||||
check := all.Next()
|
||||
|
||||
// if master != lastTag, always increment
|
||||
master := check.GetMasterVersion()
|
||||
lastTag := check.GetLastTag()
|
||||
if master != lastTag {
|
||||
// if v1.2.3 change to v.1.2.4
|
||||
check.IncrementTargetRevision()
|
||||
continue
|
||||
}
|
||||
|
||||
// if check.GetGoPath() == "go.wit.com/dev/alexflint/arg" {
|
||||
if check.GetGoPath() == "go.wit.com/gui" {
|
||||
log.Info("arg", check.GetGoPath(), check.GetMasterVersion(), check.GoPrimitive)
|
||||
if me.forge.FinalGoDepsCheckOk(check) {
|
||||
log.Info("arg final check true", check.GetGoPath())
|
||||
} else {
|
||||
log.Info("arg final check false", check.GetGoPath())
|
||||
// os.Exit(-1)
|
||||
}
|
||||
// see if there is a new version
|
||||
master := repo.Status.GetMasterVersion()
|
||||
lastTag := repo.Status.LastTag()
|
||||
log.Info("arg ", master, lastTag)
|
||||
// os.Exit(-1)
|
||||
}
|
||||
// if the repo is a go binary, try forcing new go.* files
|
||||
if check.RepoType() == "binary" {
|
||||
// check if the package dependancies changed, if so, re-publish
|
||||
if !check.GoPrimitive {
|
||||
if me.forge.FinalGoDepsCheckOk(check) {
|
||||
log.Printf("go.sum is perfect! %s\n", check.GetGoPath())
|
||||
} else {
|
||||
log.Printf("dependancy checks indicate a new release is needed for %s\n", check.GetGoPath())
|
||||
repo.Status.IncrementRevisionVersion("godeps changed")
|
||||
target := repo.Status.GetTargetVersion()
|
||||
check.SetTargetVersion(target)
|
||||
// if v1.2.3 change to v.1.2.4
|
||||
check.IncrementTargetRevision()
|
||||
}
|
||||
}
|
||||
|
||||
// see if there is a new version
|
||||
master := repo.Status.GetMasterVersion()
|
||||
lastTag := repo.Status.LastTag()
|
||||
if master == lastTag {
|
||||
repo.Status.SetTargetVersion(master)
|
||||
} else {
|
||||
repo.Status.IncrementRevisionVersion("Nov 2024 test")
|
||||
target := repo.Status.GetTargetVersion()
|
||||
check.SetTargetVersion(target)
|
||||
}
|
||||
// if check.GetGoPath() == "go.wit.com/dev/alexflint/arg" {
|
||||
// if check.GetGoPath() == "go.wit.com/gui" {
|
||||
if check.GetGoPath() == "go.wit.com/dev/davecgh/spew" {
|
||||
log.Info(repo.StandardReleaseHeader())
|
||||
log.Info(me.forge.StandardReleaseHeader(check, repo.State()))
|
||||
log.Info("arg", check.GetGoPath(), check.GetMasterVersion(), check.GoPrimitive)
|
||||
if me.forge.FinalGoDepsCheckOk(check) {
|
||||
log.Info("go.sum is perfect")
|
||||
} else {
|
||||
log.Info("go.sum check false")
|
||||
}
|
||||
// see if there is a new version
|
||||
master := repo.Status.GetMasterVersion()
|
||||
lastTag := repo.Status.LastTag()
|
||||
log.Info("arg ", master, lastTag)
|
||||
if master != lastTag {
|
||||
os.Exit(-1)
|
||||
}
|
||||
}
|
||||
}
|
||||
if findNext() {
|
||||
log.Info("prepare release findNext() returned true")
|
||||
|
|
|
@ -4,7 +4,6 @@ package main
|
|||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
|
@ -13,7 +12,6 @@ import (
|
|||
|
||||
"go.wit.com/lib/gadgets"
|
||||
"go.wit.com/lib/gui/repolist"
|
||||
"go.wit.com/lib/gui/shell"
|
||||
)
|
||||
|
||||
type releaseStruct struct {
|
||||
|
@ -33,7 +31,6 @@ type releaseStruct struct {
|
|||
goGetB *gui.Node
|
||||
checkGoSumB *gui.Node
|
||||
checkDirtyB *gui.Node
|
||||
makeRedomodB *gui.Node
|
||||
sendVersionB *gui.Node
|
||||
checkSafeB *gui.Node
|
||||
whitelist map[string]*repolist.RepoRow
|
||||
|
@ -98,31 +95,13 @@ func createReleaseBox(box *gui.Node) {
|
|||
|
||||
me.autoWorkingPwd = gadgets.NewOneLiner(me.release.grid, "working directory (pwd)")
|
||||
me.release.grid.NextRow()
|
||||
me.userHomePwd = gadgets.NewOneLiner(me.release.grid, "user home")
|
||||
me.release.grid.NextRow()
|
||||
// me.userHomePwd = gadgets.NewOneLiner(me.release.grid, "user home")
|
||||
// me.release.grid.NextRow()
|
||||
me.goSrcPwd = gadgets.NewOneLiner(me.release.grid, "go src home")
|
||||
me.release.grid.NextRow()
|
||||
|
||||
homeDir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
log.Warn("Error getting home directory:", err)
|
||||
homeDir = "/home/autotypist"
|
||||
}
|
||||
me.userHomePwd.SetText(homeDir)
|
||||
srcDir := filepath.Join(homeDir, "go/src")
|
||||
me.goSrcPwd.SetText(srcDir)
|
||||
|
||||
testf := filepath.Join(srcDir, "go.wit.com/apps/guireleaser", "go.sum")
|
||||
if !shell.Exists(testf) {
|
||||
pb := me.forge.Repos.FindByGoPath("go.wit.com/apps/guireleaser")
|
||||
if pb != nil {
|
||||
pb.RedoGoMod()
|
||||
}
|
||||
if !shell.Exists(testf) {
|
||||
log.Info("go.sum missing", testf)
|
||||
panic("redo go.sum")
|
||||
}
|
||||
}
|
||||
// me.userHomePwd.SetText(homeDir)
|
||||
me.goSrcPwd.SetText(me.forge.GetGoSrc())
|
||||
|
||||
group := me.release.box.NewGroup("Run on Current Repo")
|
||||
grid := group.NewGrid("buildOptions", 0, 0)
|
||||
|
|
|
@ -60,9 +60,6 @@ type autoType struct {
|
|||
// The current working directory
|
||||
autoWorkingPwd *gadgets.OneLiner
|
||||
|
||||
// shows what is being used as your home dir
|
||||
userHomePwd *gadgets.OneLiner
|
||||
|
||||
// shows what directory being used as ~/go/src
|
||||
goSrcPwd *gadgets.OneLiner
|
||||
|
||||
|
|
Loading…
Reference in New Issue