diff --git a/internal/releaser/git/git.go b/internal/releaser/git/git.go index 61245e9..cde0a1d 100644 --- a/internal/releaser/git/git.go +++ b/internal/releaser/git/git.go @@ -67,7 +67,12 @@ func (g *Client) GetCompareURL(oldVersion, newVersion string) string { // CreateRelease creates release on remote 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) head, err := g.git.Repository.Head() diff --git a/internal/releaser/github/github.go b/internal/releaser/github/github.go index 07adb07..5668ccc 100644 --- a/internal/releaser/github/github.go +++ b/internal/releaser/github/github.go @@ -90,7 +90,11 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC // CreateRelease creates release on remote 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) prerelease := releaseVersion.Next.Version.Prerelease() != "" diff --git a/internal/releaser/gitlab/gitlab.go b/internal/releaser/gitlab/gitlab.go index 9186b7b..5526e62 100644 --- a/internal/releaser/gitlab/gitlab.go +++ b/internal/releaser/gitlab/gitlab.go @@ -98,7 +98,11 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC // CreateRelease creates release on remote 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.log.Infof("create release with version %s", tag) url := fmt.Sprintf("%s/projects/%s/releases", g.apiURL, util.PathEscape(g.config.Repo)) diff --git a/pkg/config/config.go b/pkg/config/config.go index 008c176..091a7ff 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -9,6 +9,10 @@ import ( "gopkg.in/yaml.v2" ) +const ( + DefaultTagPrefix = "v" +) + // ChangelogConfig struct type ChangelogConfig struct { PrintAll bool `yaml:"printAll,omitempty"` @@ -44,6 +48,7 @@ type GitHubProvider struct { User string `yaml:"user"` CustomURL string `yaml:"customUrl,omitempty"` AccessToken string + TagPrefix *string `yaml:"tagPrefix,omitempty"` } // GitLabProvider struct @@ -51,6 +56,7 @@ type GitLabProvider struct { Repo string `yaml:"repo"` CustomURL string `yaml:"customUrl,omitempty"` AccessToken string + TagPrefix *string `yaml:"tagPrefix,omitempty"` } // GitProvider struct @@ -59,6 +65,7 @@ type GitProvider struct { Username string `yaml:"user"` Auth string `yaml:"auth"` SSH bool `yaml:"ssh"` + TagPrefix *string `yaml:"tagPrefix,omitempty"` } // Hooks struct