// This is a simple example package main import ( "os" "path/filepath" "go.wit.com/log" ) func CheckReady() bool { if release.current == nil { log.Info("find the next repo first") return false } goSumS := release.current.getGoSumStatus() dirtyS := release.current.dirtyLabel.String() lastS := release.current.status.GetLastTagVersion() log.Info("repo:", release.current.String(), goSumS, dirtyS, lastS) if goSumS == "READY" { return true } if release.current.status.ReadOnly() { log.Info("\trepo is read only") return false } if release.versionS == lastS { log.Info("\trepo is already done", lastS, "=", release.versionS) return false } if goSumS == "BAD" { log.Info("\trepo is ready", release.current.String(), "BAD == BAD") } else { log.Info("\trepo is ready maybe", release.current.String(), "BAD !=", goSumS) } if release.current.status.CheckDirty() { log.Info("\trepo is dirty") return false } else { log.Info("\trepo is ready", release.current.String(), "not dirty") } fullpath := filepath.Join(me.goSrcPwd.String(), release.current.String()) testf := filepath.Join(fullpath, "go.mod") if Exists(testf) { log.Info("\trepo is not ready. go.mod exists") return false } testf = filepath.Join(fullpath, "go.sum") if Exists(testf) { log.Info("\trepo is not ready. go.sum exists") return false } testf = filepath.Join(fullpath, "LICENSE") if !Exists(testf) { log.Info("\trepo is not ready. missing LICENSE") return false } // final checks here if dirtyS == "ready to tag version" { log.Info("\trepo is ready", release.current.String(), "ready to tag version") } else { log.Info("\trepo is not ready", dirtyS, "!= 'ready to tag version'") return false } curName := release.current.status.GetCurrentBranchName() mName := release.current.status.GetMasterBranchName() if curName == mName { log.Info("\trepo is ready working from main branch", curName, "=", mName) } else { log.Info("\trepo is not ready main branch", curName, "!=", mName) return false } return true } // returns true if the file exists func Exists(file string) bool { _, err := os.Stat(file) if err != nil { return false } return true }