summaryrefslogtreecommitdiff
path: root/doRelease.go
diff options
context:
space:
mode:
Diffstat (limited to 'doRelease.go')
-rw-r--r--doRelease.go64
1 files changed, 47 insertions, 17 deletions
diff --git a/doRelease.go b/doRelease.go
index 6a4b941..774d508 100644
--- a/doRelease.go
+++ b/doRelease.go
@@ -188,25 +188,55 @@ func doRelease() error {
log.Info("PUBLISH OK")
// me.current.SetGoState("RELEASED")
- // unwind and re-tag. Now that the go.mod and go.sum are published, revert
- // to the development branch
- if !me.current.RevertMasterToDevel() {
- log.Info("Revert Failed")
- findOk = false
- return fmt.Errorf("REVERT FAILED %s", check.GetGoPath())
- }
+ if argv.KeepGOMOD {
+ log.Info("TRY THE CRAZY THING HERE")
- // update tag
- var retag [][]string
- retag = append(retag, []string{"git", "tag", "--delete", me.release.version.String()})
- retag = append(retag, []string{"git", "push", "--delete", "origin", me.release.version.String()})
- retag = append(retag, []string{"git", "tag", "-m", me.releaseReasonS, me.release.version.String()})
- retag = append(retag, []string{"git", "push", "origin", me.release.version.String()})
+ // delete tag
+ var retag [][]string
+ retag = append(retag, []string{"git", "tag", "--delete", me.release.version.String()})
+ retag = append(retag, []string{"git", "push", "--delete", "origin", me.release.version.String()})
+ if !me.current.RunAll(retag) {
+ log.Info("delete failed")
+ findOk = false
+ me.sh.BadExit("--keep-gomod testing", fmt.Errorf("DELETE TAG FAILED %s", check.GetGoPath()))
+ }
- if !me.current.RunAll(retag) {
- log.Info("retag failed")
- findOk = false
- return fmt.Errorf("RETAG FAILED %s", check.GetGoPath())
+ // switch to devel branch ?
+ if check.CheckoutDevel() {
+ // ok?
+ } else {
+ // holy crap. die here
+ me.sh.BadExit("CheckoutDevel() failed", nil)
+ }
+ retag = append(retag, []string{"git", "tag", "-m", me.releaseReasonS, me.release.version.String()})
+ retag = append(retag, []string{"git", "push", "origin", me.release.version.String()})
+
+ if !me.current.RunAll(retag) {
+ log.Info("retag failed")
+ me.sh.BadExit("--keep-gomod testing", fmt.Errorf("RETAG FAILED %s", check.GetGoPath()))
+ }
+ me.sh.BadExit("did --keep-gomod work?", nil) // MUST FAIL HERE
+ } else {
+ // unwind and re-tag. Now that the go.mod and go.sum are published, revert
+ // to the development branch
+ if !me.current.RevertMasterToDevel() {
+ log.Info("Revert Failed")
+ findOk = false
+ return fmt.Errorf("REVERT FAILED %s", check.GetGoPath())
+ }
+
+ // update tag
+ var retag [][]string
+ retag = append(retag, []string{"git", "tag", "--delete", me.release.version.String()})
+ retag = append(retag, []string{"git", "push", "--delete", "origin", me.release.version.String()})
+ retag = append(retag, []string{"git", "tag", "-m", me.releaseReasonS, me.release.version.String()})
+ retag = append(retag, []string{"git", "push", "origin", me.release.version.String()})
+
+ if !me.current.RunAll(retag) {
+ log.Info("retag failed")
+ findOk = false
+ return fmt.Errorf("RETAG FAILED %s", check.GetGoPath())
+ }
}
log.Info("EVERYTHING OK. RERELEASED", me.current.GetGoPath())