diff --git a/util/version/version.go b/util/version/version.go index c60cdbfd..75d6b396 100644 --- a/util/version/version.go +++ b/util/version/version.go @@ -137,7 +137,7 @@ func ShouldUpdate(current *types.Version, new *types.Version, policy types.Polic case types.PolicyTypeMinor: return newVersion.Major() == currentVersion.Major(), nil case types.PolicyTypePatch: - return newVersion.Major() == currentVersion.Major() && newVersion.Minor() == currentVersion.Minor() && newVersion.Patch() > currentVersion.Patch(), nil + return newVersion.Major() == currentVersion.Major() && newVersion.Minor() == currentVersion.Minor(), nil } return false, nil } diff --git a/util/version/version_test.go b/util/version/version_test.go index f3c7d680..8ec1a1b5 100644 --- a/util/version/version_test.go +++ b/util/version/version_test.go @@ -132,6 +132,16 @@ func TestShouldUpdate(t *testing.T) { want: true, wantErr: false, }, + { + name: "patch decrease, policy patch", + args: args{ + current: &types.Version{Major: 1, Minor: 4, Patch: 5}, + new: &types.Version{Major: 1, Minor: 4, Patch: 4}, + policy: types.PolicyTypePatch, + }, + want: false, + wantErr: false, + }, { name: "patch AND major increase, policy patch", args: args{ @@ -172,16 +182,6 @@ func TestShouldUpdate(t *testing.T) { want: true, wantErr: false, }, - { - name: "patch increase, policy ptach", - args: args{ - current: &types.Version{Major: 1, Minor: 4, Patch: 5}, - new: &types.Version{Major: 1, Minor: 4, Patch: 6}, - policy: types.PolicyTypePatch, - }, - want: true, - wantErr: false, - }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {