git.wit.org/jcarr/packr@v1.10.8/grifts/release.go (about) 1 package grifts 2 3 import ( 4 "bufio" 5 "fmt" 6 "os" 7 "os/exec" 8 "strings" 9 10 . "github.com/markbates/grift/grift" 11 ) 12 13 var _ = Add("release", func(c *Context) error { 14 cmd := exec.Command("git", "tag", "--sort", "-creatordate") 15 if b, err := cmd.CombinedOutput(); err == nil { 16 lines := strings.Split(string(b), "\n") 17 for _, l := range lines[:5] { 18 fmt.Println(l) 19 } 20 } 21 22 r := bufio.NewReader(os.Stdin) 23 fmt.Print("Enter version number (vx.x.x): ") 24 v, _ := r.ReadString('\n') 25 v = strings.TrimSpace(v) 26 27 cmd = exec.Command("git", "tag", v) 28 cmd.Stdin = os.Stdin 29 cmd.Stdout = os.Stdout 30 cmd.Stderr = os.Stderr 31 if err := cmd.Run(); err != nil { 32 return err 33 } 34 35 cmd = exec.Command("git", "push", "origin", "--tags") 36 cmd.Stdin = os.Stdin 37 cmd.Stdout = os.Stdout 38 cmd.Stderr = os.Stderr 39 if err := cmd.Run(); err != nil { 40 return err 41 } 42 43 cmd = exec.Command("goreleaser", "--rm-dist") 44 cmd.Stdin = os.Stdin 45 cmd.Stdout = os.Stdout 46 cmd.Stderr = os.Stderr 47 if err := cmd.Run(); err != nil { 48 return err 49 } 50 return nil 51 })