mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-09-30 11:06:37 -04:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce8884f509 | ||
|
|
481a05f116 | ||
|
|
6e8abbcdda | ||
|
|
273eb6244b | ||
|
|
467741fa54 |
Executable
+54
@@ -0,0 +1,54 @@
|
||||
// call from project root with
|
||||
// go run bin/push_new_patch.go
|
||||
|
||||
// goreleaser expects a $GITHUB_TOKEN env variable to be defined
|
||||
// in order to push the release got github
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os/exec"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func main() {
|
||||
version, err := ioutil.ReadFile("VERSION")
|
||||
if err != nil {
|
||||
log.Panicln(err.Error())
|
||||
}
|
||||
stringVersion := string(version)
|
||||
fmt.Println("VERSION was " + stringVersion)
|
||||
|
||||
runCommand("git", "pull")
|
||||
|
||||
splitVersion := strings.Split(stringVersion, ".")
|
||||
patch := splitVersion[len(splitVersion)-1]
|
||||
newPatch, err := strconv.Atoi(patch)
|
||||
splitVersion[len(splitVersion)-1] = strconv.FormatInt(int64(newPatch)+1, 10)
|
||||
newVersion := strings.Join(splitVersion, ".")
|
||||
|
||||
err = ioutil.WriteFile("VERSION", []byte(newVersion), 0644)
|
||||
if err != nil {
|
||||
log.Panicln(err.Error())
|
||||
}
|
||||
|
||||
runCommand("git", "add", "VERSION")
|
||||
runCommand("git", "commit", "-m", "\"bump version to "+newVersion+"\"", "--", "VERSION")
|
||||
runCommand("git", "push")
|
||||
runCommand("git", "tag", newVersion)
|
||||
runCommand("git", "push", "origin", newVersion)
|
||||
runCommand("goreleaser", "--rm-dist")
|
||||
}
|
||||
|
||||
func runCommand(args ...string) {
|
||||
fmt.Println(strings.Join(args, " "))
|
||||
output, err := exec.Command(args[0], args[1:]...).CombinedOutput()
|
||||
if err != nil {
|
||||
panic(err.Error())
|
||||
}
|
||||
log.Print(string(output))
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"errors"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
@@ -69,10 +70,25 @@ func navigateToRepoRootDirectory() {
|
||||
}
|
||||
}
|
||||
|
||||
// when building the binary, `version` is set as a compile-time variable, along
|
||||
// with `date` and `commit`. If this program has been opened directly via go,
|
||||
// we will populate the `version` with VERSION in the lazygit root directory
|
||||
func fallbackVersion() string {
|
||||
gopath := os.Getenv("GOPATH")
|
||||
byteVersion, err := ioutil.ReadFile(gopath + "/src/github.com/jesseduffield/lazygit/VERSION")
|
||||
if err != nil {
|
||||
return "unversioned"
|
||||
}
|
||||
return string(byteVersion)
|
||||
}
|
||||
|
||||
func main() {
|
||||
startTime = time.Now()
|
||||
devLog("\n\n\n\n\n\n\n\n\n\n")
|
||||
flag.Parse()
|
||||
if version == "unversioned" {
|
||||
version = fallbackVersion()
|
||||
}
|
||||
if *versionFlag {
|
||||
fmt.Printf("commit=%s, build date=%s, version=%s", commit, date, version)
|
||||
os.Exit(0)
|
||||
|
||||
Reference in New Issue
Block a user