summaryrefslogtreecommitdiff
path: root/prepareRelease.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-19 10:48:16 -0600
committerJeff Carr <[email protected]>2025-01-19 10:48:16 -0600
commit82f06c160a05bcd18dfee63d408c88a19416cb2d (patch)
treed8e190b51836383a5ab9a6e613b55f9d280469be /prepareRelease.go
parentf3e7f02e1647812c8119d38c9a8c9192e6a32b9b (diff)
more rill. trying to improve logic
Diffstat (limited to 'prepareRelease.go')
-rw-r--r--prepareRelease.go46
1 files changed, 23 insertions, 23 deletions
diff --git a/prepareRelease.go b/prepareRelease.go
index a54bd6c..a06c058 100644
--- a/prepareRelease.go
+++ b/prepareRelease.go
@@ -3,7 +3,9 @@ package main
import (
"os"
"strings"
+ "time"
+ "go.wit.com/lib/gui/shell"
"go.wit.com/lib/protobuf/forgepb"
"go.wit.com/lib/protobuf/gitpb"
"go.wit.com/log"
@@ -62,36 +64,34 @@ func forceReleaseVersion(repo *gitpb.Repo) {
// os.Exit(-1)
}
}
+func rillGoModRestore(repo *gitpb.Repo) error {
+ if repo.GetTargetVersion() == "" {
+ // not set to upgrade
+ return nil
+ }
+ if repo.GetLastTag() == repo.GetTargetVersion() {
+ return nil
+ }
+ if me.forge.Config.IsReadOnly(repo.GetGoPath()) {
+ return nil
+ }
+ if me.forge.Config.IsPrivate(repo.GetGoPath()) {
+ return nil
+ }
+ runGoClean(repo, "--restore")
+ return nil
+}
func rePrepareRelease() {
// reload the config
me.forge = forgepb.Init()
me.found = new(gitpb.Repos)
- // blank all the target versions incase they were saved in the config .pb file
- all := me.forge.Repos.SortByFullPath()
- for all.Scan() {
- check := all.Next()
+ now := time.Now()
+ me.forge.RillFuncError(rillGoModRestore)
+ log.Printf("rillFixGodeps() (%d total repos) took:%s\n", me.forge.Repos.Len(), shell.FormatDuration(time.Since(now)))
- // set the target version to the current master version
- lastTag := check.GetLastTag()
- check.SetTargetVersion(lastTag)
- if me.forge.Config.IsReadOnly(check.GetGoPath()) {
- // can't release readonly repos
- continue
- }
- if me.forge.Config.IsPrivate(check.GetGoPath()) {
- // can't release readonly repos
- continue
- }
-
- if !runGoClean(check, "--restore") {
- log.Info("gomodclean probably failed here. that's ok", check.GetGoPath())
- // os.Exit(-1)
- }
- }
-
- all = me.forge.Repos.SortByFullPath()
+ all := me.forge.Repos.SortByFullPath()
for all.Scan() {
check := all.Next()