From 09943540896404387a615f0bc867aa10e4eb7501 Mon Sep 17 00:00:00 2001 From: Nightapes Date: Tue, 3 Sep 2019 21:34:00 +0200 Subject: [PATCH] fix(internal/calculator): fix relase version calculation --- .github/workflows/main.yml | 1 + internal/calculator/calculator.go | 5 +++++ internal/gitutil/gitutil.go | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 71444b6..a20cf83 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,6 +30,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | go build -o build/go-semantic-release-temp ./cmd/go-semantic-release/ + ./build/go-semantic-release-temp next --no-cache --loglevel trace go build -o build/go-semantic-release -ldflags "-w -s --X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/ GOOS=windows GOARCH=386 go build -o build/go-semantic-release.exe -ldflags "-w -s -X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/ diff --git a/internal/calculator/calculator.go b/internal/calculator/calculator.go index 21558ae..dfcaa22 100644 --- a/internal/calculator/calculator.go +++ b/internal/calculator/calculator.go @@ -49,6 +49,11 @@ func (c *Calculator) CalculateNewVersion(commits map[shared.Release][]shared.Ana } case "release": if !firstRelease { + if lastVersion.Prerelease() != "" { + newVersion, _ := lastVersion.SetPrerelease("") + return newVersion + } + if len(commits["major"]) > 0 { return lastVersion.IncMajor() } else if len(commits["minor"]) > 0 { diff --git a/internal/gitutil/gitutil.go b/internal/gitutil/gitutil.go index b161864..1ebb33d 100644 --- a/internal/gitutil/gitutil.go +++ b/internal/gitutil/gitutil.go @@ -6,11 +6,11 @@ import ( "sort" "github.com/Masterminds/semver" + "github.com/Nightapes/go-semantic-release/internal/shared" log "github.com/sirupsen/logrus" "gopkg.in/src-d/go-git.v4" "gopkg.in/src-d/go-git.v4/plumbing" "gopkg.in/src-d/go-git.v4/plumbing/object" - "github.com/Nightapes/go-semantic-release/internal/shared" ) // GitUtil struct @@ -87,7 +87,7 @@ func (g *GitUtil) GetLastVersion() (*semver.Version, string, error) { err = gitTags.ForEach(func(p *plumbing.Reference) error { v, err := semver.NewVersion(p.Name().Short()) - log.Tracef("%+v with hash: %s", p.Target(), p.Hash()) + log.Tracef("Tag %+v with hash: %s", p.Target(), p.Hash()) if err == nil { tags = append(tags, v)