add --protobuf
This commit is contained in:
parent
04f3fa193a
commit
e76894265e
1
argv.go
1
argv.go
|
@ -13,6 +13,7 @@ type args struct {
|
||||||
DryRun bool `arg:"--dry-run,env:DRYRUN" help:"don't actually do the release"`
|
DryRun bool `arg:"--dry-run,env:DRYRUN" help:"don't actually do the release"`
|
||||||
Fix bool `arg:"--fix" help:"run fixGoMod() on startup"`
|
Fix bool `arg:"--fix" help:"run fixGoMod() on startup"`
|
||||||
Minor bool `arg:"--minor" help:"increment minor verion numbers"`
|
Minor bool `arg:"--minor" help:"increment minor verion numbers"`
|
||||||
|
Protobuf bool `arg:"--protobuf" help:"increment protobuf repos"`
|
||||||
Reason string `arg:"--reason" help:"tag message"`
|
Reason string `arg:"--reason" help:"tag message"`
|
||||||
DumpVersions bool `arg:"--dump-versions" help:"dump the versions file for go.wit.com"`
|
DumpVersions bool `arg:"--dump-versions" help:"dump the versions file for go.wit.com"`
|
||||||
Port int `arg:"--port" default:"9419" help:"do fun stuff with curl"`
|
Port int `arg:"--port" default:"9419" help:"do fun stuff with curl"`
|
||||||
|
|
14
findNext.go
14
findNext.go
|
@ -2,6 +2,8 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
|
|
||||||
"go.wit.com/lib/gui/repolist"
|
"go.wit.com/lib/gui/repolist"
|
||||||
|
@ -101,15 +103,23 @@ func runGoClean(check *gitpb.Repo) bool {
|
||||||
// check if the package dependancies changed, if so, re-publish
|
// check if the package dependancies changed, if so, re-publish
|
||||||
check.GoDeps = nil
|
check.GoDeps = nil
|
||||||
|
|
||||||
cmd := []string{"go-mod-clean", "--strict", "--force"}
|
cmd := []string{"go-mod-clean", "--strict"}
|
||||||
log.Info("Running", cmd, "in", check.GoPath)
|
log.Info("Running", cmd, "in", check.GoPath)
|
||||||
result := check.RunRealtime(cmd)
|
result := check.Run(cmd)
|
||||||
if result.Error != nil {
|
if result.Error != nil {
|
||||||
log.Info(cmd, "failed with", result.Error, check.GoPath)
|
log.Info(cmd, "failed with", result.Error, check.GoPath)
|
||||||
|
log.Info("STDOUT")
|
||||||
|
log.Info(strings.Join(result.Stdout, "\n"))
|
||||||
|
log.Info("STDERR")
|
||||||
|
log.Info(strings.Join(result.Stderr, "\n"))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if result.Exit != 0 {
|
if result.Exit != 0 {
|
||||||
log.Info(cmd, "failed with", result.Exit, check.GoPath)
|
log.Info(cmd, "failed with", result.Exit, check.GoPath)
|
||||||
|
log.Info("STDOUT")
|
||||||
|
log.Info(strings.Join(result.Stdout, "\n"))
|
||||||
|
log.Info("STDERR")
|
||||||
|
log.Info(strings.Join(result.Stderr, "\n"))
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if ok, err := check.ParseGoSum(); !ok {
|
if ok, err := check.ParseGoSum(); !ok {
|
||||||
|
|
2
main.go
2
main.go
|
@ -118,7 +118,7 @@ func main() {
|
||||||
me.startRepo = me.forge.Repos.FindByGoPath(basedir)
|
me.startRepo = me.forge.Repos.FindByGoPath(basedir)
|
||||||
|
|
||||||
// todo: add this to forgepb
|
// todo: add this to forgepb
|
||||||
// me.startRepo = me.forge.FindWorkingDirRepo()
|
me.startRepo = me.forge.FindWorkingDirRepo()
|
||||||
|
|
||||||
if me.startRepo == nil {
|
if me.startRepo == nil {
|
||||||
msg := fmt.Sprint("Can not run if pwd is not a repo", basedir)
|
msg := fmt.Sprint("Can not run if pwd is not a repo", basedir)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"go.wit.com/lib/protobuf/gitpb"
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -41,16 +42,13 @@ func makePrepareRelease() {
|
||||||
master := check.GetMasterVersion()
|
master := check.GetMasterVersion()
|
||||||
lastTag := check.GetLastTag()
|
lastTag := check.GetLastTag()
|
||||||
if master != lastTag {
|
if master != lastTag {
|
||||||
if argv.Minor {
|
forceReleaseVersion(check)
|
||||||
// if v1.2.3 change to v.1.3.0
|
continue
|
||||||
check.IncrementTargetMinor()
|
}
|
||||||
} else {
|
|
||||||
// if v1.2.3 change to v.1.2.4
|
if argv.Protobuf && check.RepoType() == "protobuf" {
|
||||||
check.IncrementTargetRevision()
|
// if --protobuf, this will force upgrade each one
|
||||||
}
|
forceReleaseVersion(check)
|
||||||
if !runGoClean(check) {
|
|
||||||
log.Info("go-mod-clean FAILED. THIS IS BAD.", check.GoPath)
|
|
||||||
}
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,21 +61,7 @@ func makePrepareRelease() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
log.Printf("dependancy checks indicate a new release is needed for %s\n", check.GetGoPath())
|
log.Printf("dependancy checks indicate a new release is needed for %s\n", check.GetGoPath())
|
||||||
if argv.Minor {
|
forceReleaseVersion(check)
|
||||||
// if v1.2.3 change to v.1.3.0
|
|
||||||
check.IncrementTargetMinor()
|
|
||||||
} else {
|
|
||||||
// if v1.2.3 change to v.1.2.4
|
|
||||||
check.IncrementTargetRevision()
|
|
||||||
}
|
|
||||||
// run go-mod-clean in each repo that needs to be updated
|
|
||||||
if master == lastTag {
|
|
||||||
// 'git notes' has something in it. clear it out
|
|
||||||
check.Run([]string{"git", "notes", "remove"})
|
|
||||||
}
|
|
||||||
if !runGoClean(check) {
|
|
||||||
log.Info("go-mod-clean probably failed here. that's ok", check.GoPath)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -94,3 +78,19 @@ func makePrepareRelease() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func forceReleaseVersion(repo *gitpb.Repo) {
|
||||||
|
if argv.Minor {
|
||||||
|
// if v1.2.3 change to v.1.3.0
|
||||||
|
repo.IncrementTargetMinor()
|
||||||
|
} else {
|
||||||
|
// if v1.2.3 change to v.1.2.4
|
||||||
|
repo.IncrementTargetRevision()
|
||||||
|
}
|
||||||
|
// empty git notes
|
||||||
|
repo.Run([]string{"git", "notes", "remove"})
|
||||||
|
|
||||||
|
if !runGoClean(repo) {
|
||||||
|
log.Info("go-mod-clean probably failed here. that's ok", repo.GoPath)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue