feat(release): add an option to specify a custom prefix for the version tag

This commit is contained in:
maulik13
2021-01-21 17:52:08 +01:00
parent 01af837b40
commit 037983df1e
4 changed files with 23 additions and 3 deletions

View File

@@ -67,7 +67,12 @@ func (g *Client) GetCompareURL(oldVersion, newVersion string) string {
// CreateRelease creates release on remote // CreateRelease creates release on remote
func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog, _ *assets.Set) error { func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog, _ *assets.Set) error {
tag := "v" + releaseVersion.Next.Version.String() tagPrefix := config.DefaultTagPrefix
if g.config.TagPrefix != nil{
tagPrefix = *g.config.TagPrefix
}
tag := tagPrefix + releaseVersion.Next.Version.String()
g.log.Infof("create release with version %s", tag) g.log.Infof("create release with version %s", tag)
head, err := g.git.Repository.Head() head, err := g.git.Repository.Head()

View File

@@ -90,7 +90,11 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC
// CreateRelease creates release on remote // CreateRelease creates release on remote
func (g *Client) makeRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error { func (g *Client) makeRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error {
tag := "v" + releaseVersion.Next.Version.String() tagPrefix := config.DefaultTagPrefix
if g.config.TagPrefix != nil{
tagPrefix = *g.config.TagPrefix
}
tag := tagPrefix + releaseVersion.Next.Version.String()
g.log.Debugf("create release with version %s", tag) g.log.Debugf("create release with version %s", tag)
prerelease := releaseVersion.Next.Version.Prerelease() != "" prerelease := releaseVersion.Next.Version.Prerelease() != ""

View File

@@ -98,7 +98,11 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC
// CreateRelease creates release on remote // CreateRelease creates release on remote
func (g *Client) makeRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error { func (g *Client) makeRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error {
tag := "v" + releaseVersion.Next.Version.String() tagPrefix := config.DefaultTagPrefix
if g.config.TagPrefix != nil{
tagPrefix = *g.config.TagPrefix
}
tag := tagPrefix + releaseVersion.Next.Version.String()
g.Release = tag g.Release = tag
g.log.Infof("create release with version %s", tag) g.log.Infof("create release with version %s", tag)
url := fmt.Sprintf("%s/projects/%s/releases", g.apiURL, util.PathEscape(g.config.Repo)) url := fmt.Sprintf("%s/projects/%s/releases", g.apiURL, util.PathEscape(g.config.Repo))

View File

@@ -9,6 +9,10 @@ import (
"gopkg.in/yaml.v2" "gopkg.in/yaml.v2"
) )
const (
DefaultTagPrefix = "v"
)
// ChangelogConfig struct // ChangelogConfig struct
type ChangelogConfig struct { type ChangelogConfig struct {
PrintAll bool `yaml:"printAll,omitempty"` PrintAll bool `yaml:"printAll,omitempty"`
@@ -44,6 +48,7 @@ type GitHubProvider struct {
User string `yaml:"user"` User string `yaml:"user"`
CustomURL string `yaml:"customUrl,omitempty"` CustomURL string `yaml:"customUrl,omitempty"`
AccessToken string AccessToken string
TagPrefix *string `yaml:"tagPrefix,omitempty"`
} }
// GitLabProvider struct // GitLabProvider struct
@@ -51,6 +56,7 @@ type GitLabProvider struct {
Repo string `yaml:"repo"` Repo string `yaml:"repo"`
CustomURL string `yaml:"customUrl,omitempty"` CustomURL string `yaml:"customUrl,omitempty"`
AccessToken string AccessToken string
TagPrefix *string `yaml:"tagPrefix,omitempty"`
} }
// GitProvider struct // GitProvider struct
@@ -59,6 +65,7 @@ type GitProvider struct {
Username string `yaml:"user"` Username string `yaml:"user"`
Auth string `yaml:"auth"` Auth string `yaml:"auth"`
SSH bool `yaml:"ssh"` SSH bool `yaml:"ssh"`
TagPrefix *string `yaml:"tagPrefix,omitempty"`
} }
// Hooks struct // Hooks struct