automation improvements
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
2723e53396
commit
9147079092
9
draw.go
9
draw.go
|
@ -76,6 +76,15 @@ func (rs *RepoStatus) drawGitBranches() {
|
|||
log.Log(WARN, "is not dirty")
|
||||
}
|
||||
})
|
||||
|
||||
newgrid.NewButton("CheckSafeGoSumRemake()", func() {
|
||||
if ok, bad := rs.CheckSafeGoSumRemake(); ok {
|
||||
log.Log(WARN, "CheckSafeGoSumRemake() is safe to redo")
|
||||
} else {
|
||||
log.Log(WARN, "CheckSafeGoSumRemake() is not safe. problems:", bad)
|
||||
}
|
||||
})
|
||||
|
||||
newgrid.NewButton("CheckGoSum()", func() {
|
||||
if ok, missing := rs.CheckGoSum(); ok {
|
||||
log.Log(WARN, "CheckGoSum() is ok")
|
||||
|
|
89
gitConfig.go
89
gitConfig.go
|
@ -314,6 +314,75 @@ func (rs *RepoStatus) ScanGoSrc() {
|
|||
}
|
||||
}
|
||||
|
||||
// check if it is safe to remake the go.sum & go.mod files
|
||||
func (rs *RepoStatus) CheckSafeGoSumRemake() (bool, []string) {
|
||||
if rs.ReadGoMod() {
|
||||
log.Log(INFO, "parsed go.mod", rs.realPath.String())
|
||||
} else {
|
||||
log.Log(WARN, "Something went wrong parsing go.mod", rs.realPath.String())
|
||||
return false, nil
|
||||
}
|
||||
log.Log(WARN, "go.sum:", rs.realPath.String())
|
||||
var clean []string
|
||||
for depname, version := range rs.goConfig {
|
||||
if strings.HasSuffix(depname, "/v2") {
|
||||
log.Log(WARN, " FOUND /v2 wierd golang stuff. instead, look for:", depname)
|
||||
depname = strings.TrimSuffix(depname, "/v2")
|
||||
}
|
||||
log.Log(WARN, " ", depname, version)
|
||||
deprs, ok := windowMap[depname]
|
||||
if ok {
|
||||
if deprs.CheckDirty() {
|
||||
log.Log(WARN, " IS DIRTY", deprs.String())
|
||||
clean = append(clean, deprs.String())
|
||||
}
|
||||
if deprs.readOnly.String() == "true" {
|
||||
log.Log(WARN, " SKIPPING Read Only", deprs.String())
|
||||
} else {
|
||||
goSumS := deprs.goSumStatus.String()
|
||||
log.Log(WARN, " FOUND", deprs.String(), goSumS)
|
||||
username := deprs.userWorkingName.String()
|
||||
userhash, _ := deprs.gitConfig.hashes[username]
|
||||
userversion, _ := deprs.gitConfig.versions[userhash]
|
||||
log.Log(WARN, " username :"+username, userhash)
|
||||
log.Log(WARN, " username :"+username, userversion)
|
||||
if version == userversion {
|
||||
log.Log(WARN, " USER VERSIONS MATCH", version, userversion)
|
||||
if deprs.goSumStatus.String() == "BAD" {
|
||||
log.Log(WARN, " USER VERSION IS BAD!! return false")
|
||||
clean = append(clean, deprs.String())
|
||||
}
|
||||
} else {
|
||||
switch goSumS {
|
||||
case "CLEAN":
|
||||
log.Log(WARN, " USER VERSIONS MISMATCH", version, userversion)
|
||||
log.Log(WARN, " IGNORE CLEAN REPO")
|
||||
case "PRIMATIVE":
|
||||
log.Log(WARN, " USER VERSIONS MISMATCH", version, userversion)
|
||||
log.Log(WARN, " IGNORE PRIMATIVE REPO")
|
||||
default:
|
||||
log.Log(WARN, " USER VERSIONS MISMATCH", version, userversion)
|
||||
clean = append(clean, deprs.String())
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log.Log(WARN, " NOT FOUND", depname)
|
||||
// only fail on our stuff
|
||||
if strings.HasPrefix(depname, "go.wit.com") {
|
||||
// log.Log(WARN, " go get -v", depname)
|
||||
// rs.RunCmd([]string{"go", "get", "-v", depname})
|
||||
return false, clean
|
||||
}
|
||||
log.Log(WARN, " NOT FOUND BUT IGNORING FOR NOW")
|
||||
}
|
||||
}
|
||||
if len(clean) == 0 {
|
||||
return true, nil
|
||||
}
|
||||
return false, clean
|
||||
}
|
||||
|
||||
func (rs *RepoStatus) CheckGoSum() (bool, string) {
|
||||
if rs.ReadGoMod() {
|
||||
log.Log(INFO, "parsed go.mod", rs.realPath.String())
|
||||
|
@ -328,24 +397,24 @@ func (rs *RepoStatus) CheckGoSum() (bool, string) {
|
|||
depname = strings.TrimSuffix(depname, "/v2")
|
||||
}
|
||||
log.Log(WARN, " ", depname, version)
|
||||
newrs, ok := windowMap[depname]
|
||||
deprs, ok := windowMap[depname]
|
||||
if ok {
|
||||
if newrs.CheckDirty() {
|
||||
log.Log(WARN, " IS DIRTY", newrs.String())
|
||||
if deprs.CheckDirty() {
|
||||
log.Log(WARN, " IS DIRTY", deprs.String())
|
||||
return false, ""
|
||||
}
|
||||
if newrs.readOnly.String() == "true" {
|
||||
log.Log(WARN, " SKIPPING Read Only", newrs.String())
|
||||
if deprs.readOnly.String() == "true" {
|
||||
log.Log(WARN, " SKIPPING Read Only", deprs.String())
|
||||
} else {
|
||||
log.Log(WARN, " FOUND", newrs.String())
|
||||
username := newrs.userWorkingName.String()
|
||||
userhash, _ := newrs.gitConfig.hashes[username]
|
||||
userversion, _ := newrs.gitConfig.versions[userhash]
|
||||
log.Log(WARN, " FOUND", deprs.String(), deprs.goSumStatus.String())
|
||||
username := deprs.userWorkingName.String()
|
||||
userhash, _ := deprs.gitConfig.hashes[username]
|
||||
userversion, _ := deprs.gitConfig.versions[userhash]
|
||||
log.Log(WARN, " username :"+username, userhash)
|
||||
log.Log(WARN, " username :"+username, userversion)
|
||||
if version == userversion {
|
||||
log.Log(WARN, " USER VERSIONS MATCH", version, userversion)
|
||||
if newrs.goSumStatus.String() == "BAD" {
|
||||
if deprs.goSumStatus.String() == "BAD" {
|
||||
log.Log(WARN, " USER VERSION IS BAD!! return false")
|
||||
return false, ""
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue