diff --git a/pkg/build/cmd/uploadpackages.go b/pkg/build/cmd/uploadpackages.go index 581af791ebc..a677ec807f5 100644 --- a/pkg/build/cmd/uploadpackages.go +++ b/pkg/build/cmd/uploadpackages.go @@ -69,9 +69,17 @@ func UploadPackages(c *cli.Context) error { return cli.NewExitError(err.Error(), 1) } - edition, ok := os.LookupEnv("EDITION") - if !ok { - return fmt.Errorf("EDITION envvar is missing, exitting") + var edition config.Edition + if e, ok := os.LookupEnv("EDITION"); ok { + edition = config.Edition(e) + } + + if c.Bool("enterprise2") { + edition = config.EditionEnterprise2 + } + + if edition == "" { + return fmt.Errorf("both EDITION envvar and '--enterprise2' flag are missing. At least one of those is required") } // TODO: Verify config values @@ -80,15 +88,15 @@ func UploadPackages(c *cli.Context) error { Version: version, Bucket: releaseModeConfig.Buckets.Artifacts, }, - edition: config.Edition(edition), + edition: edition, versionMode: releaseMode.Mode, gcpKey: gcpKey, distDir: distDir, } - if cfg.edition == config.EditionEnterprise2 || c.Bool("enterprise2") { + if cfg.edition == config.EditionEnterprise2 { if releaseModeConfig.Buckets.ArtifactsEnterprise2 != "" { - cfg.Config.Bucket = releaseModeConfig.Buckets.ArtifactsEnterprise2 + cfg.Bucket = releaseModeConfig.Buckets.ArtifactsEnterprise2 } else { return fmt.Errorf("enterprise2 bucket var doesn't exist") } diff --git a/pkg/build/packaging/grafana_test.go b/pkg/build/packaging/grafana_test.go new file mode 100644 index 00000000000..8f143893085 --- /dev/null +++ b/pkg/build/packaging/grafana_test.go @@ -0,0 +1,22 @@ +package packaging_test + +import ( + "testing" + + "github.com/grafana/grafana/pkg/build/config" + "github.com/grafana/grafana/pkg/build/packaging" + "github.com/stretchr/testify/assert" +) + +func TestPackageRegexp(t *testing.T) { + t.Run("It should match enterprise2 packages", func(t *testing.T) { + rgx := packaging.PackageRegexp(config.EditionEnterprise2) + matches := []string{ + "grafana-enterprise2-1.2.3-4567pre.linux-amd64.tar.gz", + "grafana-enterprise2-1.2.3-4567pre.linux-amd64.tar.gz.sha256", + } + for _, v := range matches { + assert.Truef(t, rgx.MatchString(v), "'%s' should match regex '%s'", v, rgx.String()) + } + }) +}