fix(github): remove 'draft' option because releases will always be published public

This commit is contained in:
fwiedmann
2019-08-13 23:01:38 +02:00
parent e0a4725f06
commit a6c651a97f
10 changed files with 30 additions and 57 deletions

View File

@@ -3,13 +3,14 @@ package cache_test
import ( import (
"testing" "testing"
"io/ioutil"
"os"
"path"
"github.com/Masterminds/semver" "github.com/Masterminds/semver"
"github.com/Nightapes/go-semantic-release/internal/cache" "github.com/Nightapes/go-semantic-release/internal/cache"
"github.com/Nightapes/go-semantic-release/internal/shared" "github.com/Nightapes/go-semantic-release/internal/shared"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"io/ioutil"
"os"
"path"
) )
func TestReadCacheNotFound(t *testing.T) { func TestReadCacheNotFound(t *testing.T) {
@@ -54,7 +55,6 @@ func TestWriteAndReadCache(t *testing.T) {
VersionString: "1.1.0", VersionString: "1.1.0",
}, },
Branch: "master", Branch: "master",
Draft: true,
Commits: map[shared.Release][]shared.AnalyzedCommit{ Commits: map[shared.Release][]shared.AnalyzedCommit{
"major": []shared.AnalyzedCommit{ "major": []shared.AnalyzedCommit{
shared.AnalyzedCommit{ shared.AnalyzedCommit{
@@ -97,7 +97,6 @@ func TestWriteNotFound(t *testing.T) {
Version: createVersion("1.1.0"), Version: createVersion("1.1.0"),
}, },
Branch: "master", Branch: "master",
Draft: true,
}) })
assert.Errorf(t, err, "Write non exsiting file") assert.Errorf(t, err, "Write non exsiting file")

View File

@@ -40,29 +40,24 @@ func (c *Calculator) IncPrerelease(preReleaseType string, version *semver.Versio
} }
//CalculateNewVersion from given commits and lastversion //CalculateNewVersion from given commits and lastversion
func (c *Calculator) CalculateNewVersion(commits map[shared.Release][]shared.AnalyzedCommit, lastVersion *semver.Version, releaseType string, firstRelease bool) (semver.Version, bool) { func (c *Calculator) CalculateNewVersion(commits map[shared.Release][]shared.AnalyzedCommit, lastVersion *semver.Version, releaseType string, firstRelease bool) semver.Version {
switch releaseType { switch releaseType {
case "beta", "alpha": case "beta", "alpha", "rc":
if len(commits["major"]) > 0 || len(commits["minor"]) > 0 || len(commits["patch"]) > 0 { if len(commits["major"]) > 0 || len(commits["minor"]) > 0 || len(commits["patch"]) > 0 {
version, _ := c.IncPrerelease(releaseType, lastVersion) version, _ := c.IncPrerelease(releaseType, lastVersion)
return version, true return version
}
case "rc":
if len(commits["major"]) > 0 || len(commits["minor"]) > 0 || len(commits["patch"]) > 0 {
version, _ := c.IncPrerelease(releaseType, lastVersion)
return version, false
} }
case "release": case "release":
if !firstRelease { if !firstRelease {
if len(commits["major"]) > 0 { if len(commits["major"]) > 0 {
return lastVersion.IncMajor(), false return lastVersion.IncMajor()
} else if len(commits["minor"]) > 0 { } else if len(commits["minor"]) > 0 {
return lastVersion.IncMinor(), false return lastVersion.IncMinor()
} else if len(commits["patch"]) > 0 { } else if len(commits["patch"]) > 0 {
return lastVersion.IncPatch(), false return lastVersion.IncPatch()
} }
} }
} }
return *lastVersion, false return *lastVersion
} }

View File

@@ -72,7 +72,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
releaseType string releaseType string
lastVersion *semver.Version lastVersion *semver.Version
nextVersion string nextVersion string
isDraft bool
isFirst bool isFirst bool
analyzedCommits map[shared.Release][]shared.AnalyzedCommit analyzedCommits map[shared.Release][]shared.AnalyzedCommit
}{ }{
@@ -90,7 +89,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: false, isFirst: false,
isDraft: true,
}, },
{ {
testCase: "version with preRelease beta", testCase: "version with preRelease beta",
@@ -106,7 +104,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: false, isFirst: false,
isDraft: true,
}, },
{ {
testCase: "version without commits", testCase: "version without commits",
@@ -120,7 +117,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: false, isFirst: false,
isDraft: false,
}, },
{ {
testCase: "version with commits and first release", testCase: "version with commits and first release",
@@ -134,7 +130,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: true, isFirst: true,
isDraft: false,
}, },
{ {
testCase: "version with commits and rc release", testCase: "version with commits and rc release",
@@ -148,7 +143,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: false, isFirst: false,
isDraft: false,
}, },
{ {
testCase: "version with commits and rc release", testCase: "version with commits and rc release",
@@ -162,7 +156,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: false, isFirst: false,
isDraft: false,
}, },
{ {
testCase: "version with commits and major release", testCase: "version with commits and major release",
@@ -176,7 +169,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: false, isFirst: false,
isDraft: false,
}, },
{ {
testCase: "version with commits and minor release", testCase: "version with commits and minor release",
@@ -190,7 +182,6 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: false, isFirst: false,
isDraft: false,
}, },
{ {
testCase: "version with commits and minor patch", testCase: "version with commits and minor patch",
@@ -204,15 +195,13 @@ func TestCalculator_CalculateNewVersion(t *testing.T) {
"none": []shared.AnalyzedCommit{}, "none": []shared.AnalyzedCommit{},
}, },
isFirst: false, isFirst: false,
isDraft: false,
}, },
} }
c := calculator.New() c := calculator.New()
for _, test := range testConfigs { for _, test := range testConfigs {
next, draft := c.CalculateNewVersion(test.analyzedCommits, test.lastVersion, test.releaseType, test.isFirst) next := c.CalculateNewVersion(test.analyzedCommits, test.lastVersion, test.releaseType, test.isFirst)
assert.Equalf(t, test.isDraft, draft, "Should have draft %t for testcase %s", test.isDraft, test.testCase)
assert.Equalf(t, test.nextVersion, next.String(), "Should have version %s for testcase %s", test.nextVersion, test.testCase) assert.Equalf(t, test.nextVersion, next.String(), "Should have version %s for testcase %s", test.nextVersion, test.testCase)
} }

View File

@@ -96,7 +96,6 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC
TargetCommitish: &releaseVersion.Branch, TargetCommitish: &releaseVersion.Branch,
Name: &generatedChangelog.Title, Name: &generatedChangelog.Title,
Body: &generatedChangelog.Content, Body: &generatedChangelog.Content,
Draft: &releaseVersion.Draft,
Prerelease: &prerelease, Prerelease: &prerelease,
}) })
if err != nil { if err != nil {

View File

@@ -90,7 +90,6 @@ var testReleases = []testReleaseStruct{
Commit: "bar", Commit: "bar",
}, },
Branch: "master", Branch: "master",
Draft: false,
}, },
generatedChangelog: &shared.GeneratedChangelog{ generatedChangelog: &shared.GeneratedChangelog{
Title: "title", Title: "title",
@@ -115,7 +114,6 @@ var testReleases = []testReleaseStruct{
Commit: "bar", Commit: "bar",
}, },
Branch: "master", Branch: "master",
Draft: false,
}, },
generatedChangelog: &shared.GeneratedChangelog{ generatedChangelog: &shared.GeneratedChangelog{
Title: "title", Title: "title",

View File

@@ -94,7 +94,6 @@ func TestCreateRelease(t *testing.T) {
Commit: "bar", Commit: "bar",
}, },
Branch: "master", Branch: "master",
Draft: false,
}, },
generatedChangelog: &shared.GeneratedChangelog{ generatedChangelog: &shared.GeneratedChangelog{
Title: "title", Title: "title",
@@ -119,7 +118,6 @@ func TestCreateRelease(t *testing.T) {
Commit: "bar", Commit: "bar",
}, },
Branch: "master", Branch: "master",
Draft: false,
}, },
generatedChangelog: &shared.GeneratedChangelog{ generatedChangelog: &shared.GeneratedChangelog{
Title: "title", Title: "title",
@@ -145,7 +143,6 @@ func TestCreateRelease(t *testing.T) {
Commit: "bar", Commit: "bar",
}, },
Branch: "master", Branch: "master",
Draft: false,
}, },
generatedChangelog: &shared.GeneratedChangelog{ generatedChangelog: &shared.GeneratedChangelog{
Title: "title", Title: "title",

View File

@@ -9,7 +9,6 @@ type ReleaseVersion struct {
Last ReleaseVersionEntry `yaml:"last"` Last ReleaseVersionEntry `yaml:"last"`
Next ReleaseVersionEntry `yaml:"next"` Next ReleaseVersionEntry `yaml:"next"`
Branch string `yaml:"branch"` Branch string `yaml:"branch"`
Draft bool `yaml:"draft"`
Commits map[Release][]AnalyzedCommit `yaml:"commits"` Commits map[Release][]AnalyzedCommit `yaml:"commits"`
} }

View File

@@ -46,7 +46,7 @@ type ReleaseConfig struct {
GitLabProvider GitLabProvider `yaml:"gitlab,omitempty"` GitLabProvider GitLabProvider `yaml:"gitlab,omitempty"`
Assets []Asset `yaml:"assets"` Assets []Asset `yaml:"assets"`
ReleaseTitle string `yaml:"title"` ReleaseTitle string `yaml:"title"`
IsPreRelease, IsDraft bool IsPreRelease bool
} }
// Read ReleaseConfig // Read ReleaseConfig

View File

@@ -3,11 +3,12 @@ package config_test
import ( import (
"testing" "testing"
"github.com/Nightapes/go-semantic-release/pkg/config"
"github.com/stretchr/testify/assert"
"io/ioutil" "io/ioutil"
"os" "os"
"path" "path"
"github.com/Nightapes/go-semantic-release/pkg/config"
"github.com/stretchr/testify/assert"
) )
func TestReadCacheNotFound(t *testing.T) { func TestReadCacheNotFound(t *testing.T) {
@@ -88,7 +89,6 @@ github:
Compress: false}}, Compress: false}},
ReleaseTitle: "go-semantic-release release", ReleaseTitle: "go-semantic-release release",
IsPreRelease: false, IsPreRelease: false,
IsDraft: false,
}, result) }, result)
} }
@@ -105,7 +105,6 @@ github:
// Version: createVersion("1.1.0"), // Version: createVersion("1.1.0"),
// }, // },
// Branch: "master", // Branch: "master",
// Draft: true,
// }) // })
// assert.Errorf(t, err, "Write non exsiting file") // assert.Errorf(t, err, "Write non exsiting file")

View File

@@ -97,12 +97,11 @@ func (s *SemanticRelease) GetNextVersion(provider *ci.ProviderConfig, force bool
analyzedCommits := s.analyzer.Analyze(commits) analyzedCommits := s.analyzer.Analyze(commits)
isDraft := false
var newVersion semver.Version var newVersion semver.Version
for branch, releaseType := range s.config.Branch { for branch, releaseType := range s.config.Branch {
if provider.Branch == branch || strings.HasPrefix(provider.Branch, branch) { if provider.Branch == branch || strings.HasPrefix(provider.Branch, branch) {
log.Debugf("Found branch config for branch %s with release type %s", provider.Branch, releaseType) log.Debugf("Found branch config for branch %s with release type %s", provider.Branch, releaseType)
newVersion, isDraft = s.calculator.CalculateNewVersion(analyzedCommits, lastVersion, releaseType, firstRelease) newVersion = s.calculator.CalculateNewVersion(analyzedCommits, lastVersion, releaseType, firstRelease)
break break
} }
} }
@@ -117,7 +116,6 @@ func (s *SemanticRelease) GetNextVersion(provider *ci.ProviderConfig, force bool
Version: lastVersion, Version: lastVersion,
}, },
Branch: provider.Branch, Branch: provider.Branch,
Draft: isDraft,
Commits: analyzedCommits, Commits: analyzedCommits,
} }