diff options
Diffstat (limited to 'prepareRelease.go')
| -rw-r--r-- | prepareRelease.go | 109 |
1 files changed, 26 insertions, 83 deletions
diff --git a/prepareRelease.go b/prepareRelease.go index 952d41a..a50a8d7 100644 --- a/prepareRelease.go +++ b/prepareRelease.go @@ -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 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 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 } - // check if the package dependancies changed, if so, re-publish - if !check.GoPrimitive { + + // 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 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") |
