fix: remove a patch number from the recommendation link (#2891)

This commit is contained in:
afdesk
2022-09-16 15:23:58 +06:00
committed by GitHub
parent ba29ce648c
commit 38c1513af6
2 changed files with 51 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ package artifact
import (
"context"
"errors"
"fmt"
"os"
"github.com/hashicorp/go-multierror"
@@ -564,7 +565,6 @@ func canonicalVersion(ver string) string {
if v.IsPreRelease() || v.Metadata() != "" {
return devVersion
}
// Add "v" prefix, "0.34.0" => "v0.34.0" for the url
return "v" + ver
// Add "v" prefix and cut a patch number, "0.34.0" => "v0.34" for the url
return fmt.Sprintf("v%d.%d", v.Major(), v.Minor())
}

View File

@@ -0,0 +1,48 @@
package artifact
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestCanonicalVersion(t *testing.T) {
tests := []struct {
title string
input string
want string
}{
{
title: "good way",
input: "0.34.0",
want: "v0.34",
},
{
title: "version with v - isn't right semver version",
input: "v0.34.0",
want: devVersion,
},
{
title: "dev version",
input: devVersion,
want: devVersion,
},
{
title: "pre-release",
input: "v0.34.0-beta1+snapshot-1",
want: devVersion,
},
{
title: "no version",
input: "",
want: devVersion,
},
}
for _, test := range tests {
t.Run(test.title, func(t *testing.T) {
got := canonicalVersion(test.input)
require.Equal(t, test.want, got)
})
}
}