summaryrefslogtreecommitdiff
path: root/prepareRelease.go
diff options
context:
space:
mode:
Diffstat (limited to 'prepareRelease.go')
-rw-r--r--prepareRelease.go109
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")