ShouldUpdate now makes sure pre-releases match + tests
parent
8ae29905c2
commit
28b601be3d
|
@ -130,6 +130,10 @@ func ShouldUpdate(current *types.Version, new *types.Version, policy types.Polic
|
|||
return false, fmt.Errorf("failed to parse new version: %s", err)
|
||||
}
|
||||
|
||||
if currentVersion.Prerelease() != newVersion.Prerelease() {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
// new version is not higher than current - do nothing
|
||||
if !currentVersion.LessThan(newVersion) {
|
||||
return false, nil
|
||||
|
|
|
@ -193,6 +193,36 @@ func TestShouldUpdate(t *testing.T) {
|
|||
want: true,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "prerelease patch increase, policy minor, no prerelease",
|
||||
args: args{
|
||||
current: &types.Version{Major: 1, Minor: 4, Patch: 5},
|
||||
new: &types.Version{Major: 1, Minor: 4, Patch: 6, PreRelease: "xx"},
|
||||
policy: types.PolicyTypeMinor,
|
||||
},
|
||||
want: false,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "prerelease patch increase, policy minor",
|
||||
args: args{
|
||||
current: &types.Version{Major: 1, Minor: 4, Patch: 5, PreRelease: "xx"},
|
||||
new: &types.Version{Major: 1, Minor: 4, Patch: 6, PreRelease: "xx"},
|
||||
policy: types.PolicyTypeMinor,
|
||||
},
|
||||
want: true,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "patch increase, policy minor, wrong prerelease",
|
||||
args: args{
|
||||
current: &types.Version{Major: 1, Minor: 4, Patch: 5, PreRelease: "xx"},
|
||||
new: &types.Version{Major: 1, Minor: 4, Patch: 6, PreRelease: "yy"},
|
||||
policy: types.PolicyTypeMinor,
|
||||
},
|
||||
want: false,
|
||||
wantErr: false,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
|
Loading…
Reference in New Issue