use external semver

This commit is contained in:
bakito 2021-03-28 19:31:11 +02:00
parent aacffb1518
commit 70e60bb7d0
No known key found for this signature in database
GPG key ID: FAF93C1C384DD6B4
2 changed files with 8 additions and 52 deletions

View file

@ -20,10 +20,15 @@ test: tidy fmt vet
go test ./... -coverprofile=coverage.out go test ./... -coverprofile=coverage.out
go tool cover -func=coverage.out go tool cover -func=coverage.out
release: release: semver
@version=$$(go run version/semver/main.go); \ @version=$$(semver); \
git tag -s $$version -m"Release $$version" git tag -s $$version -m"Release $$version"
goreleaser --rm-dist goreleaser --rm-dist
test-release: test-release:
goreleaser --skip-publish --snapshot --rm-dist goreleaser --skip-publish --snapshot --rm-dist
semver:
ifeq (, $(shell which semver))
$(shell go get -u github.com/bakito/semver)
endif

View file

@ -1,49 +0,0 @@
package main
import (
"bufio"
"fmt"
"os"
"os/exec"
"strings"
"github.com/coreos/go-semver/semver"
)
func main() {
out, err := exec.Command("git", "branch", "--show-current").Output()
if err != nil {
panic(err)
}
branch := strings.TrimSpace(string(out))
if branch != "main" {
panic(fmt.Errorf(`error: must be in "master" branch, current branch: %q`, branch))
}
out, err = exec.Command("git", "describe").Output()
if err != nil {
panic(err)
}
version := strings.TrimPrefix(strings.TrimSpace(string(out)), "v")
v := semver.New(version)
v.BumpPatch()
reader := bufio.NewReader(os.Stdin)
if _, err = fmt.Fprintf(os.Stderr, "Enter Release Version: [v%v] ", v); err != nil {
panic(err)
}
text, err := reader.ReadString('\n')
if err != nil {
panic(err)
}
if strings.HasPrefix(text, "v") {
text = text[1:]
v = semver.New(strings.TrimSpace(text))
}
if _, err = fmt.Fprintf(os.Stderr, "Using Version: v%v\n", v); err != nil {
panic(err)
}
fmt.Printf("v%v", v)
}