diff --git a/.bingo/Variables.mk b/.bingo/Variables.mk index 56a916a0d25..80b5946b497 100644 --- a/.bingo/Variables.mk +++ b/.bingo/Variables.mk @@ -5,6 +5,10 @@ GOPATH ?= $(shell go env GOPATH) GOBIN ?= $(firstword $(subst :, ,${GOPATH}))/bin GO ?= $(shell which go) +# Add this near the top of the file, after the initial variable definitions +ifndef VARIABLES_MK +VARIABLES_MK := 1 + # Below generated variables ensure that every time a tool under each variable is invoked, the correct version # will be used; reinstalling only if needed. # For example for bra variable: @@ -65,3 +69,4 @@ $(SWAGGER): $(BINGO_DIR)/swagger.mod @echo "(re)installing $(GOBIN)/swagger-v0.30.6-0.20240310114303-db51e79a0e37" @cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-v0.30.6-0.20240310114303-db51e79a0e37 "github.com/go-swagger/go-swagger/cmd/swagger" +endif diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fc8c0e3187e..7cb1d2adc70 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -444,6 +444,7 @@ /.betterer.eslint.config.js @grafana/frontend-ops /.gitattributes @grafana/frontend-ops /.gitignore @grafana/frontend-ops +/.ignore @grafana/frontend-ops /.nvmrc @grafana/frontend-ops /.prettierignore @grafana/frontend-ops /.yarn @grafana/frontend-ops diff --git a/.gitignore b/.gitignore index 201697fce4d..4d8fbde004a 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,7 @@ __debug_bin* # This is the new place of the block, but I leave the previous here for a while /devenv/docker/blocks/auth/saml-enterprise /devenv/docker/blocks/auth/signer +/devenv/docker/blocks/spanner_tests /tmp tools/phantomjs/phantomjs @@ -103,14 +104,18 @@ profile.cov /pkg/cmd/grafana-cli/grafana-cli /pkg/cmd/grafana-server/grafana-server /pkg/cmd/grafana-server/debug -/pkg/extensions/* -/pkg/build/cmd/artifactspage.go -/pkg/build/cmd/artifactspage.tmpl.html -/pkg/build/cmd/exportversion.go -/pkg/server/wireexts_enterprise.go + +# Extensions /pkg/cmd/grafana-cli/runner/wireexts_enterprise.go +/pkg/server/wireexts_enterprise.go +/pkg/build/cmd/enterprise.go +/pkg/extensions/* +!/pkg/extensions/.keep !/pkg/extensions/main.go /public/app/extensions +!/public/app/extensions/.keep + + debug.test /examples/*/dist /packaging/**/*.rpm @@ -170,6 +175,7 @@ compilation-stats.json /e2e/benchmarks/**/results /e2e/build_results.zip /e2e/extensions +!/e2e/extensions/.keep /e2e/extensions-suite /test-results/ /playwright-report/ diff --git a/.ignore b/.ignore new file mode 100644 index 00000000000..01e1bb8d6e2 --- /dev/null +++ b/.ignore @@ -0,0 +1,22 @@ +# This is a trick to ignore files only by git but not by other tools +!/public/app/extensions +!/pkg/extensions/* +!/pkg/cmd/grafana-cli/runner/wireexts_enterprise.go +!/pkg/server/wireexts_enterprise.go +!/pkg/build/cmd/enterprise.go +!/pkg/extensions/* + +# Enterprise emails +!/emails/templates/enterprise_* +!/public/emails/enterprise_* + +# Enterprise reporting fonts +!/public/fonts/dejavu + +# Enterprise devenv +!/devenv/docker/blocks/grafana-enterprise +!/devenv/docker/blocks/saml-enterprise +# This is the new place of the block, but I leave the previous here for a while +!/devenv/docker/blocks/auth/saml-enterprise +!/devenv/docker/blocks/auth/signer +!/devenv/docker/blocks/spanner_tests \ No newline at end of file diff --git a/e2e/extensions/.keep b/e2e/extensions/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/build/cmd/flags.go b/pkg/build/cmd/flags.go index 7ab2eb6f993..f0fb0ee1168 100644 --- a/pkg/build/cmd/flags.go +++ b/pkg/build/cmd/flags.go @@ -21,10 +21,6 @@ var ( Usage: "Specify number of tries before failing", Value: 1, } - dryRunFlag = cli.BoolFlag{ - Name: "dry-run", - Usage: "Only simulate actions", - } tagFlag = cli.StringFlag{ Name: "tag", Usage: "Grafana version tag", diff --git a/pkg/build/cmd/main.go b/pkg/build/cmd/main.go index d207abe020b..37957b15c0e 100644 --- a/pkg/build/cmd/main.go +++ b/pkg/build/cmd/main.go @@ -5,6 +5,7 @@ import ( "os" "github.com/grafana/grafana/pkg/build" + "github.com/grafana/grafana/pkg/build/cmd/util" "github.com/urfave/cli/v2" ) @@ -66,7 +67,7 @@ func main() { Name: "publish-metrics", Usage: "Publish a set of metrics from stdin", ArgsUsage: "", - Action: MaxArgCountWrapper(1, PublishMetrics), + Action: util.MaxArgCountWrapper(1, PublishMetrics), }, { Name: "verify-drone", @@ -178,7 +179,7 @@ func main() { Name: "fetch", Usage: "Fetch Grafana Docker images", ArgsUsage: "[version]", - Action: MaxArgCountWrapper(1, FetchImages), + Action: util.MaxArgCountWrapper(1, FetchImages), Flags: []cli.Flag{ &editionFlag, }, @@ -229,7 +230,7 @@ func main() { Flags: []cli.Flag{ &editionFlag, &buildIDFlag, - &dryRunFlag, + &util.DryRunFlag, &cli.StringFlag{ Name: "src-bucket", Value: "grafana-downloads", @@ -242,7 +243,7 @@ func main() { Usage: "Publish packages to GitHub releases", Action: PublishGithub, Flags: []cli.Flag{ - &dryRunFlag, + &util.DryRunFlag, &cli.StringFlag{ Name: "path", Usage: "Path to the asset to be published", @@ -267,7 +268,7 @@ func main() { Usage: "Publish image to AWS Marketplace releases", Action: PublishAwsMarketplace, Flags: []cli.Flag{ - &dryRunFlag, + &util.DryRunFlag, &cli.StringFlag{ Name: "version", Usage: "Release version (default from metadata)", diff --git a/pkg/build/cmd/publishaws_test.go b/pkg/build/cmd/publishaws_test.go index 626f5f4c5f4..af3782b1571 100644 --- a/pkg/build/cmd/publishaws_test.go +++ b/pkg/build/cmd/publishaws_test.go @@ -15,6 +15,7 @@ import ( "github.com/aws/aws-sdk-go/service/ecr" "github.com/aws/aws-sdk-go/service/marketplacecatalog" "github.com/docker/docker/api/types/image" + "github.com/grafana/grafana/pkg/build/cmd/util" "github.com/stretchr/testify/assert" "github.com/urfave/cli/v2" ) @@ -138,7 +139,7 @@ func setupPublishAwsMarketplaceTests(t *testing.T) *cli.App { testApp := cli.NewApp() testApp.Action = PublishAwsMarketplace testApp.Flags = []cli.Flag{ - &dryRunFlag, + &util.DryRunFlag, &cli.StringFlag{ Name: "version", Usage: "Release version (default from metadata)", @@ -171,9 +172,11 @@ type mockAwsMarketplaceDocker struct { func (m *mockAwsMarketplaceDocker) ImagePull(ctx context.Context, refStr string, options image.PullOptions) (io.ReadCloser, error) { return io.NopCloser(bytes.NewReader([]byte(""))), m.ImagePullError } + func (m *mockAwsMarketplaceDocker) ImageTag(ctx context.Context, source string, target string) error { return m.ImageTagError } + func (m *mockAwsMarketplaceDocker) ImagePush(ctx context.Context, image string, options image.PushOptions) (io.ReadCloser, error) { return io.NopCloser(bytes.NewReader([]byte(""))), m.ImagePushError } @@ -202,6 +205,7 @@ func (m *mockAwsMarketplaceCatalog) DescribeEntityWithContext(ctx context.Contex EntityIdentifier: aws.String("productid"), }, m.DescribeEntityWithContextError } + func (m *mockAwsMarketplaceCatalog) StartChangeSetWithContext(ctx context.Context, input *marketplacecatalog.StartChangeSetInput, opts ...request.Option) (*marketplacecatalog.StartChangeSetOutput, error) { return &marketplacecatalog.StartChangeSetOutput{}, m.StartChangeSetWithContextError } diff --git a/pkg/build/cmd/publishgithub_test.go b/pkg/build/cmd/publishgithub_test.go index 698b8048a05..79464391810 100644 --- a/pkg/build/cmd/publishgithub_test.go +++ b/pkg/build/cmd/publishgithub_test.go @@ -10,6 +10,7 @@ import ( "testing" "github.com/google/go-github/github" + "github.com/grafana/grafana/pkg/build/cmd/util" "github.com/stretchr/testify/assert" "github.com/urfave/cli/v2" ) @@ -158,7 +159,7 @@ func setupPublishGithubTests(t *testing.T) (*cli.App, string) { testApp := cli.NewApp() testApp.Action = PublishGithub testApp.Flags = []cli.Flag{ - &dryRunFlag, + &util.DryRunFlag, &cli.StringFlag{ Name: "path", Required: true, diff --git a/pkg/build/cmd/argcount_wrapper.go b/pkg/build/cmd/util/argcount_wrapper.go similarity index 96% rename from pkg/build/cmd/argcount_wrapper.go rename to pkg/build/cmd/util/argcount_wrapper.go index 394283e163d..cce3605db62 100644 --- a/pkg/build/cmd/argcount_wrapper.go +++ b/pkg/build/cmd/util/argcount_wrapper.go @@ -1,4 +1,4 @@ -package main +package util import "github.com/urfave/cli/v2" diff --git a/pkg/build/cmd/util/flags.go b/pkg/build/cmd/util/flags.go new file mode 100644 index 00000000000..89cb772bdda --- /dev/null +++ b/pkg/build/cmd/util/flags.go @@ -0,0 +1,8 @@ +package util + +import "github.com/urfave/cli/v2" + +var DryRunFlag = cli.BoolFlag{ + Name: "dry-run", + Usage: "Only simulate actions", +} diff --git a/pkg/extensions/.keep b/pkg/extensions/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/public/app/extensions/.keep b/public/app/extensions/.keep new file mode 100644 index 00000000000..e69de29bb2d