mirror of
https://github.com/apricote/releaser-pleaser.git
synced 2026-02-06 17:57:05 +00:00
refactor: interface for versioning strategy
This commit is contained in:
parent
11f8403241
commit
f5ab3e143d
5 changed files with 15 additions and 12 deletions
|
|
@ -10,9 +10,11 @@ import (
|
|||
"github.com/apricote/releaser-pleaser/internal/git"
|
||||
)
|
||||
|
||||
var _ Strategy = SemVerNextVersion
|
||||
var SemVer Strategy = semVer{}
|
||||
|
||||
func SemVerNextVersion(r git.Releases, versionBump VersionBump, nextVersionType NextVersionType) (string, error) {
|
||||
type semVer struct{}
|
||||
|
||||
func (s semVer) NextVersion(r git.Releases, versionBump VersionBump, nextVersionType NextVersionType) (string, error) {
|
||||
latest, err := parseSemverWithDefault(r.Latest)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("failed to parse latest version: %w", err)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import (
|
|||
"github.com/apricote/releaser-pleaser/internal/git"
|
||||
)
|
||||
|
||||
func TestReleases_NextVersion(t *testing.T) {
|
||||
func TestSemVer_NextVersion(t *testing.T) {
|
||||
type args struct {
|
||||
releases git.Releases
|
||||
versionBump VersionBump
|
||||
|
|
@ -326,7 +326,7 @@ func TestReleases_NextVersion(t *testing.T) {
|
|||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got, err := SemVerNextVersion(tt.args.releases, tt.args.versionBump, tt.args.nextVersionType)
|
||||
got, err := SemVer.NextVersion(tt.args.releases, tt.args.versionBump, tt.args.nextVersionType)
|
||||
if !tt.wantErr(t, err, fmt.Sprintf("SemVerNextVersion(Releases(%v, %v), %v, %v)", tt.args.releases.Latest, tt.args.releases.Stable, tt.args.versionBump, tt.args.nextVersionType)) {
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@ import (
|
|||
"github.com/apricote/releaser-pleaser/internal/git"
|
||||
)
|
||||
|
||||
type Strategy = func(git.Releases, VersionBump, NextVersionType) (string, error)
|
||||
type Strategy interface {
|
||||
NextVersion(git.Releases, VersionBump, NextVersionType) (string, error)
|
||||
}
|
||||
|
||||
type VersionBump conventionalcommits.VersionBump
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue