mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Bug: Compare semver
digits for frontend packages config (#71829)
* Compare semver digits * Fix lint
This commit is contained in:
parent
679365960b
commit
5f8ace33fb
@ -3,6 +3,7 @@ package frontend
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/blang/semver/v4"
|
||||
"github.com/grafana/grafana/pkg/build/config"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
@ -22,7 +23,16 @@ func GetConfig(c *cli.Context, metadata config.Metadata) (config.Config, config.
|
||||
if err != nil {
|
||||
return config.Config{}, "", err
|
||||
}
|
||||
if metadata.GrafanaVersion != packageJSONVersion {
|
||||
semverGrafanaVersion, err := semver.Parse(metadata.GrafanaVersion)
|
||||
if err != nil {
|
||||
return config.Config{}, "", err
|
||||
}
|
||||
semverPackageJSONVersion, err := semver.Parse(packageJSONVersion)
|
||||
if err != nil {
|
||||
return config.Config{}, "", err
|
||||
}
|
||||
// Check if the semver digits of the tag are not equal
|
||||
if semverGrafanaVersion.FinalizeVersion() != semverPackageJSONVersion.FinalizeVersion() {
|
||||
return config.Config{}, "", cli.Exit(fmt.Errorf("package.json version and input tag version differ %s != %s.\nPlease update package.json", packageJSONVersion, metadata.GrafanaVersion), 1)
|
||||
}
|
||||
}
|
||||
|
@ -43,6 +43,13 @@ func TestGetConfig(t *testing.T) {
|
||||
metadata: config.Metadata{GrafanaVersion: "10.0.0", ReleaseMode: config.ReleaseMode{Mode: config.TagMode}},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("flagSet", flag.ContinueOnError), flagObj{name: jobs, value: "2"}, flagObj{name: githubToken, value: "token"}), nil),
|
||||
name: "custom tag, package.json doesn't match",
|
||||
packageJsonVersion: "10.0.0",
|
||||
metadata: config.Metadata{GrafanaVersion: "10.0.0-abcd123pre", ReleaseMode: config.ReleaseMode{Mode: config.TagMode}},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("flagSet", flag.ContinueOnError), flagObj{name: jobs, value: "2"}, flagObj{name: githubToken, value: "token"}), nil),
|
||||
name: "package.json doesn't match tag",
|
||||
|
Loading…
Reference in New Issue
Block a user